Projects
I build tools that sit at the intersection of engineering and design—where technical depth meets human intuition. My projects explore how we can make complex systems more approachable, whether that's turning high-dimensional data into navigable visual spaces, designing interfaces that respond to natural human gestures, or creating developer tools that prioritize delight alongside functionality. Each experiment represents a belief that technology should amplify human creativity, not constrain it.
Featured Work
Coach Artie Ecosystem
I created Coach Artie to serve as our Discord studio assistant. He's evolved into a powerful AI tool with persistent memory and tool usage - helping our team coordinate and manage creative workflows.
Coach Artie v2: Production AI with MCP Tools
The second iteration deploys a production AI system with embedded MCP (Model Context Protocol) tools following DELETE-DRIVEN DEVELOPMENT philosophy - remove code until it works, then have the audacity to run it in production.
Memory & Consciousness Analysis
Explores AI consciousness emergence through memory patterns with scientific rigor applied to existential questions. This research component investigates how persistent memory systems in AI assistants might lead to emergent conscious-like behaviors.
Related Content
- The AI-Human Creative Loop: My 2025 Working Process - How AI assistants integrate into continuous creative workflows
- AI Is Our Newest Drug - Philosophical exploration of AI as psychoactive technology
Clusters of NYPD Misconduct
In 2021, I got my hands on a massive NYPD complaint dataset from Gothamist/WNYC and immediately went down a data rabbit hole. Built a network of 29,915 officer nodes with 159,671 relationships using Neo4j and Gephi (love-hate relationship with Gephi, but unrivaled for networks).
When Gothamist reporter George Joseph interviewed victims, they confirmed what the network showed - certain officers were "catalysts" who other officers "followed" into misconduct. Math and reality matched up! I documented everything in excruciating detail so others could replicate it for their own police departments.
COVIDcast
During the early COVID-19 pandemic, I worked with Carnegie Mellon University's COVIDcast project, prototyping data visualizations and user interactions to help the public understand hospitalization, transmission, and movement trends across the country.
NBC News Big Board
I spearheaded an internal effort to develop new D3-powered mapping software for visualizing election maps and results live - the touchscreen app wielded by Steve Kornacki known as the "Big Board". Built for real-time county-level election analysis.
2016 NBC News County-Level Election Maps
Dataproofer
Along with Gerald Rich and the Vocativ data team, I received a Knight Prototype Fund grant to create Dataproofer - an open source tool to check data for reliability, missing data, and outliers. Built as an Electron desktop app for journalists.
❯ dataproofer Criterion\ Channel\ videos\ v1.2.0-20190621\ -\ v1.2.0-20190621.csv
total rows 5035
rows sampled 1259
Missing or duplicate column headers: passed
Numeric cells: info
String cells: info
Empty Cells: warn
Special Letters & Characters: warn
Duplicate Rows: passed
Potentially missing rows: passed
Words at their character limit: failed
Integer at its SQL upper limit: passed
Summed integer at its upper limit: passed
Small integer at its SQL upper limit: passed
Big integer at its SQL upper limit: passed
Outliers from the mean: info
Outliers from the median: info
Invalid coordinates: passed
Void coordinates: passed
75%
9 tests passed out of 12
### PROOFED ###
All Projects
Projects
e]]
MorningRadio
Designed to be a healthy "first screen" in the morning. News summaries, updates, and enough information about the latest events that you don't feel the need to endlessly doomscroll.
The goal was to repurpose the tik-tok style endless vertical scroll but instead fill it with interesting and useful websites, tools, and news articles (populated through my Pinboard bookmarks)
I even experimented (unsuccessfully) with creating a home screen widget.
Smallbot MCP
Smallweb is a really unique tool to create a filesystem based system for rapidly-deployed deno apps, and it pairs really well with a robot companion.
Nowadays when I have an idea for a website and I just want it to exist, without spending three hours setting up a build pipeline configuring DNS. Smallbot is an incredible tool to defeat that particular form of procrastination—a robot that takes "make me a site about northeastern trees" and actually builds the thing.
I made a video with the creator of Smallweb about how easy it is to get setup, and I love how much the project embodies indieweb philosophies
This is a tool built on the MCP (Model Context Protocol) so it can talk to Claude and other AI assistants and give them the tools and documentation to make little Smallweb sites easily, on-the-fly.
Cloudinary Backup Tool
I needed to backup thousands of photos from Cloudinary, and couldn't find an easy standalone tool to do so. So I built a little desktop app with Tauri. It handles batch downloads without eating all your RAM (vs an Electron app) and lets you resume if something goes wrong.
CLI Tools Collection
I've always believed that if you're going to spend half your life in a terminal, it might as well feel like a cyberpunk movie. These tools explore how joy-drivem devex design can transform the routine into something that makes even doing your chores fun.
Each tool follows the Unix philosophy of doing one thing well, but with enough personality to make you smile when you run them.
They represent my approach to design: functionality first, but never underestimating the power of delight.
Core Development Tools
- git-status-dash: Multi-repo git status dashboard with ASCII visualization
- directory-sync-tool: Visual directory comparison and syncing interface
- cli-delta-dojo: Interactive JSON comparison tool for code review
- cli-ai-chat: IRC-style terminal interface for LLM conversations
- scrapbook-cli: Command-line interface for exploring personal knowledge graphs
- showtouch: Large-scale ASCII keystroke visualizer for presentations
- ascii_webcam: Real-time webcam-to-ASCII converter
Related Content
- The Impact of My LLM-Powered MOTD - Building custom daily CLI tools around existing routines, and getting little poetic directions from a robot inside my computer every time I start a new shell
Creative Interfaces & Digital Art
These are my attempts to make computers that respond to the way humans actually move and gesture—exploring the design space between human intuition and machine capability. Each project pushes beyond traditional HCI constraints to find new interaction models. Some of these work better than others, but they all represent steps toward interfaces that feel more like extensions of thought than barriers to it.
- hand-midi-controller: Professional hand tracking MIDI controller with TouchDesigner integration. Converts hand movements to MIDI with detailed performance timing breakdowns and memory analysis for creative interface exploration.
- handtrack-websockets: Real-time gesture streaming pushing the boundaries of browser-based interaction.
- flipper-generative-art: Real-time generative art and animated patterns for Flipper Zero with 10 gradient types, Floyd-Steinberg dithering, and smooth 30 FPS animations. Finding art within the constraints of 64KB RAM.
- ps5-tmux is a little tool to make it easier to vibe-code; just move between panes with your PS5 controller and accept changes with the X button, or hit the middle button to enter dictation mode.
Data Visualization & Analysis Suite
After years of making data visualizations for major newsrooms and clients, I kept running into the same problem: how do you make sense of information that exists in too many dimensions for humans to naturally understand? These tools are my attempt to build bridges between the abstract mathematical spaces where modern AI lives and the visual, spatial thinking that humans excel at.
What started as a need to understand my own research archive evolved into a suite of tools for mapping everything from film aesthetics to code relationships. Each project explores the intersection of machine learning, interface design, and human cognition—taking complex algorithms and making them visually intuitive and actionable.
Related Content
- Browser Tabs to VR: Creating my Digital Memory Palace - Unity-based 3D visualization of bookmarks with spatial organization
- Turning My Bookmarks Into A Knowledge Graph - Building structured relationship data from web content
Project List
-
criterion-embedding-viz: Vector embeddings for Criterion films enabling searches like "films about existentialism" for cinephiles who want deep thematic connections.
-
code-network-gen: Generate a graph of nodes/edges from your javascript code. Visualizes codebases as interconnected networks treating software architecture as explorable graphs.
-
connectology: Network visualization tool with an 11-page README for those who think in connections and need to see how everything relates to everything else.
-
latent-scope: A scientific instrument for investigating latent spaces. Democratizes advanced ML visualization with extensive documentation making complex embeddings accessible to non-experts.
-
obsidian-analysis: Generate semantic embeddings for your Obsidian vault using LM Studio and Nomic embeddings. Search your notes using natural language and explore with interactive UMAP visualizations.
Developer Tools & Deployment
I've deployed way too many projects to way too many different platforms, and somewhere along the way I realized that most deployment tools are optimized for companies with dedicated DevOps teams, not for people who just want to push code and have it run somewhere. Same with development tools—most of them assume you have infinite time to configure them.
These are the tools I built out of frustration with the status quo. Each represents a design philosophy: reduce cognitive overhead, eliminate unnecessary complexity, and optimize for the 80% use case.
-
dockrune: Self-hosted deployment daemon: push-to-deploy from GitHub to Docker VPS.
-
room302-template: Nuxt template with personality in the name bringing character even to boilerplate code.
-
smallweb-starter: Lightweight application starter rejecting bloated modern web complexity for focused simplicity.
Photography & Visual Creation
I love being able to reference the technical details when editing photography—aperture, shutter speed, ISO, all the little choices that go into making a photograph. But most photo prints completely ignore this data, treating it like metadata to be hidden away in EXIF tags that nobody ever sees. So I made a little app to add the EXIF data to the margins of prints you might get from CVS, Walgreens, or Wal-Mart (don't use them for photo prints, I learned the hard way.)
exif-printer: Creates printable photos with camera settings displayed in the borders - a photographer's tool that treats metadata as part of the art.
NBC News Specials
During my time at NBC News, I worked on the Foundry team, creating bespoke longform articles in collaboration with journalists across the organization. These specials focused on unique approaches to video, data visualiation, and storytelling on the web.
Does America Need Another Prison? (2018)
The Making of an Astronaut (2017)
Donald Trump's First 100 Days (2017)
🦊 EJ's Code Directory
Auto-generated on 8/18/2025
🚀 Active Projects
towntuner
A dedicated podcast player for all 360 episodes of Harmontown, designed specifically for nightly sleep listening with gamification elements. Features a prestige system, brutalist monochrome design, an... Last updated: 8/16/2025
website2
A personal website and blog built with Nuxt 3, Vue 3, and D3.js. Content is managed through Obsidian and processed through a custom pipeline for seamless publishing. Think of it as a digital garden, b... Last updated: 8/16/2025
glassbox
What's Working: Last updated: 8/16/2025
ps5-tmux
or: how i learned to stop worrying and love the gamepad Last updated: 8/13/2025
coachartie2
🚀 Production-grade AI system with embedded MCP tools, free model fallbacks, and bulletproof Docker architecture Last updated: 8/13/2025
ejfox-news
Look at the Nuxt documentation to learn more. Last updated: 8/12/2025
criterion-embedding-viz
This project is designed to create vector embeddings for Criterion movie titles and descriptions using the Nomic Embedding API. The embeddings can be used for advanced data analysis, clustering, and v... Last updated: 8/11/2025
rescuetime-scrape
rescuetime-scrape/ ├── analysis/ # 🔬 All analysis scripts ├── data/ # 📊 Raw RescueTime data ├── web/ # 🌐 Interactive dashboard ├── visualizations/ # 📈 Generated charts & images ├── docs/ # 📚 Docu... Last updated: 8/11/2025
discord-arena-bridge
DISCORD ⟷ ARE.NA BRIDGE (v0.1.0-bidirectional) =============================================== A bidirectional bridge for your digital garden. Est. 2024 | Made with ☕ and 🎷 Last updated: 8/10/2025
spacepunk-logi
A server-authoritative space trucking game where you manage the corporate nightmare of interstellar logistics through deliberately terrible enterprise software. Last updated: 8/8/2025
scrap-enlightener
Transform your Pinboard bookmarks into a knowledge graph with AI-powered enrichment, semantic search, and automatic tagging. Last updated: 8/8/2025
dockrune
self-hosted deployment daemon. receives github webhooks, deploys your stuff. Last updated: 8/7/2025
mission-control
Welcome to Mission Control – your cyberpunk-themed dashboard for visualizing Netlify deploys, GitHub activity, and project milestones in the style of an '80s digital dreamscape. Dive into the neon-lit... Last updated: 8/5/2025
electology
README not found Last updated: 8/2/2025
zmk-config2
ZMK firmware configuration for custom keyboard builds. Last updated: 8/2/2025
smallbot-mcp
MCP server that generates small websites from natural language prompts using LLMs. Last updated: 8/2/2025
docgrind
A gamified reading experience for MDN JavaScript documentation with progress tracking, exercises, and streak management. Last updated: 8/2/2025
obsidian-analysis
Generate semantic embeddings for your Obsidian vault using LM Studio and Nomic embeddings. Search your notes using natural language! Last updated: 8/2/2025
connectology2
Connectology is a powerful network visualization and management application built with Nuxt.js. It allows users to create, manipulate, and analyze complex networks of interconnected nodes. Last updated: 8/1/2025
vzcode
VZCode offers a multiplayer code editing environment that caters to a real-time collaborative development experience. It's the code editor component of VizHub, and can also be used independently from... Last updated: 8/1/2025
glasses-hud
Simple prototyping tool for AR glasses data visualizations. Built with Nuxt 3 + Vue. Last updated: 8/1/2025
gear
A comprehensive gear tracking and management system with both web and terminal interfaces. Last updated: 7/31/2025
flipper-space-calculators
A collection of minimalist space and physics calculators for the Flipper Zero. No games, no gimmicks - just the essential calculations for when you need them most. Last updated: 7/30/2025
retroscope
No description available Last updated: 7/27/2025
photos
This README document describes the development of a custom media organizing and publishing application using bash scripts, Apple Automator, and Cloudinary on a Nuxt.js framework. Last updated: 7/27/2025
cloudinary-backup
A desktop application to backup all your photos from Cloudinary with complete metadata preservation and photo management features. Last updated: 7/27/2025
hand-midi-controller
A comprehensive suite of real-time motion detection MIDI controllers using MediaPipe and OpenCV. Transform hand movements, video motion, and sequential chord progressions into MIDI control signals for... Last updated: 7/26/2025
code-network-gen
parses js/vue codebases and outputs function call networks as csv or gexf files. useful for understanding code structure, dependencies, and architectural patterns. Last updated: 7/24/2025
electology_ingest
A data pipeline that transforms election data into a structured, queryable database in Postgres/Supabase. Last updated: 7/24/2025
exif-printer-simple
A minimal desktop application for creating printable photos with EXIF camera data displayed in clean borders. Last updated: 7/24/2025
weddings
Live Site: weddings.ejfox.tools Last updated: 7/24/2025
exif-printer-website
Beautiful, minimal marketing website for the EXIF Photo Printer app. Last updated: 7/24/2025
anime-beta
No description available Last updated: 7/8/2025
llm-honeypot
A defensive security honeypot that only allows robots - the inverse of "prove you are human". Last updated: 7/6/2025
flipper-generative-art
A beautiful, lightweight application that generates mesmerizing animated patterns in real-time using advanced dithering algorithms optimized for the Flipper Zero's 128x64 monochrome display. Last updated: 6/27/2025
MorningRadio
README not found Last updated: 6/23/2025
MorningRadio_BACKUP_20250623_103149
README not found Last updated: 6/14/2025
hexagram_news
A modern news aggregation platform built with Nuxt 3, featuring both traditional newspaper-style layout and a data-dense terminal aesthetic view. Last updated: 6/13/2025
webhook-desktop-color
/\ \ /\ /\ /\ \ /\ \ /\ \ /\ \ /\ \ /\ / \ \ \ /\ \ \ \ \ \L\ \ \ \L\ \ \ \ \ \//\ \ //\ \ \ /| \ \ \ \ \ \ \ \ \ \ <\ \ \ \ \ \ \ \ \ \ \ `\ \ \ / \ \ \ /\ \ \ \L\ \ \ \ \ \ \ \ \ \ \... Last updated: 6/9/2025
git-status-dash
A beautiful, blazingly fast git repository monitor that watches all your repos in real-time. Stop tab-switching to check git status – see everything at once in a gorgeous TUI that adapts to your workf... Last updated: 6/8/2025
vulpecula-loom
Vulpecula Loom is a desktop application that combines the power of modern AI language models with seamless Obsidian vault integration. Built with Electron, Vue 3, and TypeScript, it offers a polished... Last updated: 6/5/2025
vizhub-benchmarks
AI code editing benchmarks for interactive visuals + training dataset generation Last updated: 6/5/2025
lilfox-mcp
A lightweight, MCP-compliant server for local development tools and utilities. Last updated: 6/1/2025
election-helpers
election-helpers is a lightweight JavaScript utility library that makes it easier to work with U.S. election data—FIPS codes, vote tallies, boundary checks, and more. Each helper is fully unit-tested... Last updated: 6/1/2025
🗄️ Other Projects
- latent-scope - Quickly embed, project, cluster and explore a dataset with open models locally or via API. This project is a new kind of workflow + tool for visualizing and exploring datasets through the lens of late... (5/16/2025)
- ui-brand-pattern - This is a Next.js project bootstrapped with create-next-app. (4/30/2025)
- ui-brand-pattern_2SHARE - This is a Next.js project bootstrapped with create-next-app. (4/29/2025)
- vulpes-spotify-mcp - A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Spotify, allowing them to search for and play tracks. (3/22/2025)
- cavapalooza - Central organizing space for our annual summer gathering and year-round shenanigans! Built with Nuxt 3 + Supabase. (3/3/2025)
- issuebuilder - npx room302-template (2/27/2025)
- handtrack-websockets - Real-time hand tracking over WebSockets using MediaPipe, OpenCV, and FastAPI. Track hand position and rotation in 3D space with a cyberpunk visualization layer. (2/25/2025)
- nuxt-template - npx room302-template (2/25/2025)
- room302-template - This wizard sets up a development environment for a project, including checks for necessary tools and installation prompts. The focus is on quickly going from idea to publishable project. (2/25/2025)
- zackgaydos - create table zackposts ( id uuid default genrandomuuid() primary key, content text not null, phonenumber text, createdat timestamp with time zone default timezone('utc'::text, now()) not null, updated... (2/23/2025)
- smallweb-starter - README not found (12/24/2024)
- scrapbook-cli - A cyberpunk-inspired, terminal-based interface for your digital scrapbook. Dive into your memories, search through your digital artifacts, and relive your online adventures - all from the comfort of y... (11/29/2024)
- scrapbook-electron - README not found (11/19/2024)
- Dataproofer - Every day, more and more data is created. Journalists, analysts, and data visualizers turn that data into stories and insights. (8/18/2021)
- alertfox - A comprehensive, lightweight Node.js application that continuously monitors the internet for threats against your personal identity, credentials, and digital assets. AlertFox runs automated scans acro... (Unknown)
- anime-beta-docs-scrape - README not found (Unknown)
- ayout-management-service - README not found (Unknown)
- coachartie_memory_analysis - Comprehensive multi-dimensional analysis of AI consciousness emergence through memory reflection patterns. (Unknown)
- countdown-central - README not found (Unknown)
- data - README not found (Unknown)
- forestpunks-com - README not found (Unknown)
- labelgraphinator - README not found (Unknown)
- mapping-ice - A data visualization project mapping publicly available information on immigration enforcement facilities and operations. (Unknown)
- motorcycle-engine-sounds - A super lightweight Nuxt 3 + Vue application for browsing and uploading motorcycle engine sounds. (Unknown)
- newburgh-crime - Comprehensive crime data analysis for Newburgh, NY (1990-2024) with socioeconomic correlation factors. (Unknown)
- opencv-artcut - A journey through surveillance aesthetics, 3D reconstruction hell, and cyberpunk glitch effects (Unknown)
- scripts - README not found (Unknown)
- tempo - A Swift/SwiftUI iOS application for tempo and rhythm management, designed to help users maintain consistent timing and rhythm in various contexts. (Unknown)
- vulpes-things-mcp - An MCP server for interacting with the Things app on macOS. This MCP allows Claude to manage your tasks in Things, including: (Unknown)
- week-note-append-mcp - MCP server for automatically appending project updates to your weekly notes in Obsidian. (Unknown)
Generated by node generate-index.mjs
- run this script to refresh