Projects

My projects include artifacts of independent research, original music, programming languages and UI frameworks, web apps, artwork, writing, software libraries, and a small set of personal tools for thinking.

I started collecting my projects here in 2014, when I learned to code by building a website for myself.

Highlights

A hand-picked selection of projects I’m most proud of. Some are here for technical merit, and others for impact or popularity.

Prism

A research prototype demonstrating new ways to visualize and edit text documents by directly manipulating concepts in the latent space of a language model – video demo

Ink

A dynamically typed functional programming language inspired by JavaScript, with implementations in Go, Rust, and itself, used by many of my core productivity tools and experiments – blog post & language overview

Oak

A pragmatic, dynamic programming language designed for building my personal software tools and side projects, with lessons learned from my experience developing and using Ink and featuring a broad standard library and robust first-party tooling – language intro

Monocle

Personal search engine written in Ink, querying across tens of thousands of documents from my blog posts, journal entries, notes, bookmarks, Tweets, contacts, and more to act as an extended memory spanning my entire life – blog post

Polyx

Personal productivity suite written in Ink and Torus, including a CRM, task manager, file syncing utility, notes app, and more, collectively underpinning my core workflows – blog post

Torus

Small event-driven model-view UI framework for the Web, focused on being simple, efficient, and free of dependencies, used by most of my web projects

Lucerne

A Twitter reader and client designed around my workflows for learning from the Twittersphere, built with Ink and Torus – blog post

Merlot

Markdown writing app on the Web and my full-time blog-writing app, built with pure Ink on top of Torus

Timeglass & Memory Palace

Original albums of New Age style improvisations on the piano – blog post & also available on Spotify.

Nightvale

Interactive writing environment for computational ideas and literate programming, built on Ink and Klisp on the backend and Torus on the frontend – blog post

Unim.press

A Reddit reader that looks like the front page of The New York Times, built with Torus, visited by over 200k and counting – blog post

linus.coffee

A second blog for my more creative work, including covers and original music, artwork, creative writing, and shorter mini-blogs on various topics

Codeframe

The fastest, easiest way to build and deploy quick static webpages, in a lightweight, fast online editor; built with Torus and blocks.css

blocks.css

A lightweight CSS library to add a dimension to core UI web elements, used in many of my projects as a design base

lyrics.rip

A fake lyrics generator for pop artists based on Markov chain Monte-Carlo simulations, built on Repl.it, 800k hits and counting – press coverage

Sounds from Places

A collection of environmental and atmospheric sounds collected around the world in my travels, from Indiana to Iceland to New York City

Tabloid

A minimal but Turing-complete programming language inspired by clickbait headlines, with an interpreter written in JavaScript

Lin’tlil & Lin’tlik

A new kind of language and writing system founded on the concepts of relational semantics and the absence of verbs

Apogee Citation Maker (sold ‘17)

Automatic MLA / APA citation generator from website metadata, Chrome extension with over 130k peak weekly users and a 4.5 star rating

Released

These projects have launched and are in active use, whether that means deployed in production, available to download, or ready for new users. This is the best record of what kind of projects I’m working on today.

Revery

A personal semantic search engine capable of surfacing relevant bookmarks, journal entries, notes, blogs, contacts, and more as I browse the web, or for a given topic of choice. Built on an efficient document embedding-based algorithm for natural language classification, and the search index from my Monocle search engine.

This AI Does Not Exist

A website that generates realistic descriptions and code samples of made-up machine learning models from just a name

YC Vibe Check

Semantic search across Y Combinator’s entire portfolio, letting me search for companies who have explored any given problem space or startup idea, or find companies that are similar to a given company

Sistine

Simple, flexible, productive static site generator written in Ink and built on Merlot’s Markdown engine

Mira

Personal contacts manager, built for my workflow. A place for notes, but for the people I keep in touch with, built with Torus – blog post

Frieden

Personal, read-only public availability calendar, to reduce the back-and-forth in scheduling one-on-one meetings

Ink codebase browser, “Kin”

A refined tool for exploring open-source projects on GitHub with a file tree, rich Markdown and image previews, multi-pane multi-tab layouts and first-class support for Ink syntax highlighting.

Lovecroft

Minimal mailing list manager for static sites, with a simple JSON API, UI with paper.css

libsearch

Simple full-text search library for JavaScript that runs fast without an index, used pervasively across my projects like YC Vibe Check and linus.zone/entr

Superstat

CLI written in Oak for quickly viewing all work-in-progress changes in a workspace of Git repositories; it runs and summarizes git status + diff for every repo in a folder

Pico

Lightweight notepad for ephemeral memos, todos, meeting notes, and more, built with Torus

September

Ink to JavaScript compiler, written entirely in Ink itself and self-hosting on Node.js and the Web

Oak Notebook

An experimental tool for writing dynamic documents using Markdown and Oak that embed interactive explorable visualizations

Schrift

An experimental runtime for Ink written in Rust, featuring a bytecode compiler and VM, and focused on performance and instrumentation

Ink playground, “Maverick”

A simple web IDE and REPL for the Ink programming language, written in pure Ink and built on the self-hosted September compiler toolchain running entirely in the browser

Traceur

Path tracing 3D renderer written in Ink, supports reflective and dielectric materials, focus blur

traceur-web

JavaScript and HTML Canvas port of Traceur, a path tracing renderer initially written in Ink

The stream

A micro-blog for personal project updates and snippets of thought, displayed in a searchable timeline format reminiscent of Twitter; written in Oak from the ground up

Klisp

An S-expression based LISP written in Ink with a minimal ~200 line core and a small standard library

Albatross

A simple to-do list app for personal use, built with Oak, Torus, and libsearch over a weekend

Inc(remental)

A note-taking tool based on the principles of incremental note-taking, written in Ink for quickly capturing fleeting ideas and growing a knowledge base over time – blog post

Eliza

An implementation of the ELIZA chat bot from the 1960’s MIT paper, written in Ink code that can run in the command-line and the browser

August

An educational assembler written from scratch in Ink, supporting 64-bit x86 ELF executables to start with more under development

inkfmt

Self-hosting, tokenizing code formatter for the Ink programming language

Tiny humans

An interactive sandbox for drawing with little tiny stick figures milling around in a little paper world, powered by an original algorithm written in Oak

burds!

2D Canvas-based generative animation of little stylized birds jumping around, written in Oak

Etch

Command-line tool for scaffolding out new programming projects using my personal repository layouts, written in Oak

Rush

Command-line utility to run one (batch) command on many files using a simple command template syntax, written in Oak

Xi

Concatenative stack programming language and interpreter modeled after the Factor language, written in Oak as a learning project

Matisse

A minimalistic gallery of generative art pieces written in Ink, compiled for the Web with the September compiler

ink-vscode

Visual Studio Code editor extension to add support for the Ink programming language, including syntax highlighting

Oak syntax visualizer

An interactive CLI and GUI visualizer for token streams and syntax trees of Oak programs, made for my GopherCon 2021 talk on building a toy programming language.

Histools

A collection of tools for generating heatmaps and data visualizations from Safari’s browser history data

Micropress

An Ink library for automatic text summarization, using an extractive summarization algorithm built on a custom tokenizer from the Monocle project

heyyyyyyyyyyyy.com

The email service for when just “hey.com” isn’t enough

Xin

Flexible functional programming language with a tiny extensible core, inspired by Lisp and CSP

Wintermute

Generates fake blog posts from my blog based on a Markov chain, with Torus + paper.css UI

I Hope You Find It

Original song, written by me and performance by me on acoustic guitar, piano, vocals

1989.style

A simple online game for guessing Taylor Swift songs based on snippets of lyrics, built with Torus and blocks.css

Typogram

Typography + Instagram, simple web app to create beautiful minimalistic graphics that focus on a short snippet of text to share on the Web

Litterate

CLI tool to generate beautiful literate programming-style description of your code from comment annotations

draw

Minimalistic real-time collaborative whiteboard on the Web with WebSockets, Torus, blocks.css

Codesynth

Generate music from lines of source code, built on Torus, paper.css, and the Web Audio API

Codeliner

Ink program to generate “codelines”: like silhouette outlines, but for source code

paper.css

Lightweight CSS library with a paper aesthetic, spiritual successor to blocks.css used in my projects

lambda.ink

The untyped lambda calculus, with Church numerals and Y and Z combinators, implemented in Ink

Animated-Value

Imperative animation API for declarative UI renderers, like React, Preact, and Torus

dotink

Blog and website dedicated to the Ink programming language and my technical writing

Carlisle

A minimal blog and website theme for Hugo with a focus on tasteful design, responsiveness, and flexibility

linus.zone/entr

A searchable repository of my personal notes from past readings, events, videos, talks around topics in startup, business, community, life

Yolo Page

An experiment in making a crowdsourced, crowd-built webpage on GitHub with open contributions from my communities

Clozoom

A browser extension to close Zoom meeting tabs automatically after they’ve opened Zoom, 400 weekly active users and counting

Socialite

A web app to quickly generate social sharing metadata tags for new side projects hosted on the Web, built with Torus and blocks.css on Repl.it

Vanta

A port of Klisp, a Lisp originally written in Ink, to pure Go

Ittr

Small library of useful iterator-related utility functions for JavaScript

Torus HN Reader

Hacker News reader web app optimized for performance, built with Torus and Looking Glass

Plume.chat

Small, lightweight real-time chat server on the Web with WebSockets and Go

Shelf.page

An online, public “blog-shelf” for collecting and sharing interesting reads with your audience

COVID Hacks

Global virtual hackathon that brought high school and university students together to build projects for relief against the COVID-19 pandemic

Looking Glass

A simple web screenshot generator service, backed by Chromium’s Puppeteer API

Graph-Calc

A fast, minimal web-based 2D graphing calculator, built with Torus as a technical demo for the framework

Game of Life

Conway’s Game of Life simulator in JavaScript, built with Torus on HTML canvas

Markus Writer

A fast live HTML renderer for a custom flavor of Markdown, built with Torus

thingboard

A board for text notes in the browser, movable and scalable anywhere you want on the screen

Torus Gravity

An approximate many-body simulation of Newtonian gravity built with Torus on HTML canvas

Blocky logos

An exploratory creative art project distilling some common Western brands and logos into rectangles

Pyro

CLI and CI/CD tool to check availability of specific routes in a web application

Hurricane

Zero-configuration, read-only JSON API proxy in front of an Airtable base

Goblin

Bot for the Hack Club Slack community that integrates with Hack Club Bank to provide statistics and updates

rational-arithmetic.js

A lightweight JavaScript library for arithmetic with rational numbers with a novel API based on tagged template literals

Markovify

A auto-suggest sentence generator based on simple Markov chains from source texts

Dessi

A quick, simple server-side-includes expander to transform SSI’d sites into static files

linus.zone

A personal URL shortener / note sharing service backed by a filesystem-based database

Mondrian Generator

Piet Mondrian-style painting generator in JavaScript built with Torus

Papyrus

Small, static-site for hosting read-optimized content, like stories or e-books

Retired

These projects have launched, and are now sun-set either because I didn’t have time to maintain them, or because I wanted to move onto other projects. Many, but not all, of them are still usable.

The Lifelong Traveler

Linus’s previous website and home online: blog, website, portfolio

Cafe Avant-Garde

Community editorial online magazine: a group of individuals with words to be written and voices to be heard

Ligature

My main work/personal notes application and my first web app, using Backbone.js, Node, and MySQL

Pantheon

A long-running social network simulation project to look for self-organizing government in complex social networks

Studybuddy

Web app to help students easily find study buddies from their classmates taking the same courses

Webb

Simple social network evolution simulation in Ruby

The Anvil Blog

The Anvil’s blog on entrepreneurship, startups, and technology

DataChain Capital

Website / design: cryptocurrency-focused hedge fund and financial consultancy

Vanilla Yeoman Boilerplate

A lightweight project starter boilerplate

Extension Yeoman Boilerplate

A lightweight chrome extension boilerplate based on Mute! extension

Backbone Yeoman Boilerplate

A lightweight single-page app starter boilerplate based on Backbone

Kittifier

JavaScript bookmarklet for changing every image on a webpage to pictures of kittens, courtesy of placekitten.com

Mirage

An attempt at real-time mapping my happiness level across long periods of time to find trends in my happiness levels over time

Day Clock

A beautiful, minimalist clock web application with the color of the skies and the time of the day in full screen, analog glory

Ambrosia

A simple NodeJS- and BackboneJS-powered key-value short note storage that looks pretty cool

Elixir

Time is our most important asset. How much of it do you have? - A Visualization

Mute!

A Chrome extension to prevent autoplay videos from playing or making sound

Kiosk

A small, lightweight web application for taking survey data in TEDxPurdueU events at the door

Magic Search

Browser extension: enhances Google Search’s UI/UX to make it faster, easier to use, and far more extensible / efficient

Kasette

Effortlessly take YouTube videos in and out of auto-rewind/replay loops

CoderDojo Attendance App

Attendance-tracking app for regular events, originally built for Lafayette CoderDojo

Namehog

Minimal command-line tool to check if a username is available on Twitter

YTReplay & YTFixer

Useful bits of code for manipulating YouTube to work better, like repeats and player affixers

FinalScore

Simple web application for parsing and calculating quarter / final grades in WLCSC schools (that’s mine)

Korona

An NPM module that hashes any valid JavaScript data into a reasonably unique color

Persephone

A simple poetry recommendation engine, a predecessor to PoetryMe

Tesseract

JavaScript and HTML5 markup-based in-browser presentation authoring framework

Voyage

Symmetric-key encryption scheme that dynamically generate the algorithm from the key – whitepaper & demo

TEDxPurdueU

TEDxPurdueU’s website for the 2016-17 and 2017-18 seasons

Trubadour Landing Page

Building a new way to read, discover, and share poetry: Trubadour

Bash Notepad

Simple system-wide notepad for Bash (shell) users on UNIX systems, vim/emacs/nano/atom and bash only dependencies

Pandora

A small, HTML5 quiz single-page application

The Insult Machine

It’s an insult machine, just like your face

Daily Quote Greeter

Uses a Quote of the Day API to make a new terminal login prompt as the day’s quote and refresh the GNOME desktop background

Reflow

Make raw HTML pages online not look like trash

Rail Runner

A simple DOM-based HTML5 game I wrote when I was a sophomore, one of my first programming projects

Java Image Filters

A set of simple but conceptually interesting applications written in Java for instructional / tutoring purposes

Experiments

These projects are currently in active development. They can be considered pre-alpha or alpha-stage in development, will have tons of bugs or errors, or may not be fully executed at all. A lot of these projects are just napkin-drawing ideas I had in the shower, where I’ve sketched out some ideas and notes.

Atypical Press

An experimental magazine about people and communities building a more creative, more inspiring, more just future

Ky

Scriptable, modal terminal text editor with the best of Vim and Emacs, written in Go

Talaria

A gesture- and nonverbal-communication-based HCI experiment and exoskeleton

Zero to Code

The best place on the Web to learn to make stuff with code, a free-forever introductory web development course for everyone

Synaptic 2

Event-driven simulation of a self-organizing learning neural network

Costructure

A pair of interface experiments that explore nonlinear reading, where the reader first scans for key ideas then dives deeper into the most interesting sections

Unfinished

These projects were started and worked on for anywhere from weeks to years, but ultimately were never seen to completion or release, for one reason or another. Still, they serve as a good background for what kinds of ideas interest me.

Otherworld

A text-based game exploring the bounds of consciousness and metaphysics

Orion

An exploration of mathematical modeling, analyzing movement of crowds through an area

PoetryMe

Great poems, algorithmically recommended and delivered to your inbox (with founder Rebecca Roach)

Ambiance

An AI-based personal assistant taking proactive action and responding to voice actions. Think Jarvis, except IRL.

Compass

A novel-in-progress about humanity, intelligence, vulnerability, and mortality