An expanding collection of code works, projects, and developments. View my work on GitHub, too.
A static site generator for hosting gatherings from a folder on your computer
Read instructions & source code
Hosting a website is like inviting your friends over to a folder on your computer. This script will generate a website that lets you explore a list of files in a directory with the vibe of visiting someone's house. Just curate a list of files in a folder and run the script to create the website. You can even include your own furniture and styles or directly edit the index.html
file that gets created.
A starter project with a static web server that doesn't give you what you ask for
Remix the Glitch project || See a website built with it
A static web server is (traditionally) responsible for responding with whatever file is being requested. So when you click on a link <a href="pages/about-me.html">Read more about me</a>
, a static web server will check to see if it has a file about-me.html
in the /pages
directory and then send that file if it has it.
This trickster web server will respond with random file of the same type requested. So when you link to /pages/about-me.html
, the trickster server will send you back another HTML page, but without telling you any different. The remixable Glitch project supports serving randomly files from the public directory and from any assets uploaded to Glitch in the project. Use it to build surprising, playful, unstable, and ...maybe even unusable, websites.
A browser-based tool for creating large patterns for wearables based on photographs of specific environments.
View pattern generator || View pattern generator (over Tor) || Source code
This tool is designed to generate patterns from photographs that can be used to make wearables from handkerchiefs to full-body suits. It creates several patterns that use multiscale and shape-disruptive camouflage techniques loosely based on a scientific paper published in 2013. Multiscale patterns employ details at various spatial scales to disguise the wearer, while disruptive patterns aim to distort and interrupt the wearer's outline using blocks of shapes.
The pattern generator is also accessible as an onion service over the Tor network, which affords the website visitor with a kind of digital camouflage over network communication. Tor provides a way to browse the Internet anonymously to avoid surveillance and censorship. You can visit the onion website using Tor Browser or Brave Browser.
An easy-to-use, minimalist wireframing tool powered by machine learning.
Watch a demo || View code base
As you sketch, Mime transforms your hand-drawn circles and rectangles into clean shapes in real-time. It's powered by a custom-built TensorFlow.js (TF) model that we trained to recognize basic shapes using strokes drawn on an HTML canvas. The front-end workspace relies on React-Konva.js to create moveable, transformable shapes, Socket.io to communicate with the TF model, and React/Redux to manage wireframe rendering and updates. Each wireframe is automatically saved to a PostgreSQL database and accessible through a unique URL.
Built in collaboration with Chiara Marcial MartÃnez and Ivan Felix.
Note: Mime's deployment is a little delayed as we work through an issue with the TensorFlow team. View the demo to get a full walkthrough of the application.
A playful, responsive interface that continuously changes when it detects your face, mouth, and eyes.
Look into the Mirror || View source code
Mirror, mirror uses trackingjs, p5js, and React to build an interactive UI that changes depending on how you look at it. It's an experiment in the performance of looking at an interface looking back at you. Built during a four-day hackathon.
An experimental linked list.
Directory is an experimental resource list that gathers lectures, meetups, groups, zines, books, videos, pdfs, and people who engage with technology, art, activism, movement, networks, and theory in overlapping and myriad ways. It started out as my own mental mind map because I found I was often sharing resources with people across disciplines. Directory uses a simple framework called Binder to leverage the power of Google Docs for collaboration. Contribute by adding links and descriptions.