Open Source & Experiments

Tools, prototypes, and playful systems where curiosity meets code — most of them born from a question I could not stop thinking about.

I build enterprise platforms for a living. Serious systems. Governed data. Agents that cannot afford to hallucinate in production.

But at night — or on a rainy Sunday afternoon — I build smaller things. Not because the world needs another Chrome extension or another lofi radio player. I build them because making is how I think.

These projects are my laboratory. Some are polished enough to ship. Some are experiments I leave open on GitHub so someone else can fork the question and run with it. All of them connect, in one way or another, to the same obsession: how humans perceive, decide, learn, and create — and what software can do to support that without getting in the way.

For the longer story — why a radio app, a quantum game, and a robots.txt for AI all live in the same mental neighborhood — read What My Side Projects Are Really About.

01

ChillStep Radio

A native desktop chillstep and lofi radio — looping visuals, layered ambient sound, Pomodoro focus, and your music stays on your machine.

Go Go · Wails · WebView

I wanted music for deep work without a streaming service deciding what I should hear next. ChillStep Radio is my answer — your library, your atmosphere, your rhythm. No accounts, no cloud, no backend. Just a folder of albums, looping city-night videos, rain layered over chillstep, and a Pomodoro timer that respects the fact that focus is not infinite. It is a small act of sovereignty in an age of rented everything — and a reminder that environment shapes cognition more than we admit.

  • Go + Wails v2 desktop app — single executable, native folder picker, internal media server
  • Directory-based library (music/, videos/, sounds/) — auto-scan, favorites, album modals, ZIP downloads
  • Layered ambient mixer with per-sound volume, sleep timer with 8-second fade, full keyboard shortcuts
  • Pomodoro focus timer, todo reminders, session stats — built for late-night coding and rainy afternoons
02

Annotate Pro

Sharp, minimal webpage annotation — freehand, shapes, laser pointer, screenshots. Built for demos and teaching, not bloat.

Chrome Chrome MV3 · Canvas API

I kept teaching and presenting on live webpages and wishing I could circle a diagram, draw an arrow, or pulse a laser pointer without opening a separate tool or fighting bubbly UI that feels designed for a different species of user. Annotate Pro injects a decisive dark toolbar into whatever page you are on — vector shapes, freehand, eraser, one-click annotated screenshots. Everything stays local. From an Expert Vision angle, it is a tiny window into how people actually mark up structure before detail when they explain something under pressure.

  • Manifest V3 Chrome extension — overlay canvas, no network calls, annotations persist until reload
  • Full shapes palette, pulsing laser pointer, whiteboard/darkboard backgrounds, undo/redo stacks
  • Dock left or right, responsive sidebar, global shortcut (Cmd/Ctrl+Shift+A) from any tab
  • Sharp zero-radius design — red accent on true dark surfaces, settings persist across sessions
03

Eyes

Accessibility modes that actually stick — smart dark, grayscale, sepia, blue light, high contrast, plus live readability controls.

Chrome Chrome MV3 · CSS filters

I was reading long articles at midnight and my eyes were losing the argument. Every site has its own idea of dark mode — some native, some fake, most inconsistent. Eyes tries to be decisive about that negotiation with your visual system. It detects native dark themes where sites already support them (Wikipedia Vector, and others), falls back to thoughtful filter modes where they do not, and gives you line height and letter spacing controls that feel like tuning an instrument rather than flipping a switch.

  • Five visual modes — smart dark, grayscale, sepia, blue light, high contrast with live preview
  • Readability controls — brightness, contrast, font scale, line height (1.0–2.2), letter spacing
  • Per-site or global settings with custom text, background, and link color overrides
  • Sharp minimal popup — zero border-radius, red accents, no scrolling needed for core controls
04

White Dot Chaos

A canvas game about a white dot navigating geometric chaos — with optional quantum randomness from real entropy sources.

Game Canvas · Vanilla JS

Not every experiment needs a business case. Some need a white dot. This is a canvas game that sounds silly until you sit with it — collide with shapes, collect modifiers, survive escalating madness. The interesting bit is the entropy layer. Flip a switch and the game feeds on quantum random numbers from ANU's QRNG API — true unpredictability from vacuum fluctuations, piped into a browser game. I am curious whether that changes how players decide, whether it expands the perceived possibility space in the brain the way it expands it on screen. I do not have a peer-reviewed answer. I have a hypothesis and a checkbox labeled Use Quantum Entropy.

  • Vanilla HTML5 canvas — auto and manual control modes, dynamic UI, modifier collection
  • Optional quantum entropy via ANU QRNG API — replaces Math.random() with true randomness
  • Entropy manager with HTTP fetch + fallback pool — compare pseudo vs quantum gameplay
  • Play instantly in the browser — no install, forkable, built as play-as-research
05

Chromatic Symphony

Paint with sound and hear color — a synesthetic playground where frequencies become hues and melodies bloom into light.

Web Web Audio · Canvas

If Expert Vision asks how experts perceive complex environments, Chromatic Symphony asks a playful cousin of that question — what happens when we deliberately blur the channels? Drag across a color gradient and hear frequency. Play a piano where each key has a hue. Compose a melody and watch it bloom into light spectra. It is a love letter to the idea that senses are not as separate as school taught us — built entirely with Web Audio and Canvas, zero dependencies, one HTML file.

  • Paint with Sound — drag a color gradient to play tones, visualize waves and light spectra live
  • 25-key color piano (A3–A5) — each note plays a tone and displays its hue, mouse and touch
  • Compose and save custom melodies — text-based input, synesthetic playback visuals
  • Sci-fi aesthetic with responsive design — neon panels, Orbitron type, no external libraries
06

AI Usage Declaration Protocol

A machine-readable way for websites to declare how AI systems may use their content — as simple as robots.txt, built for the AI era.

Standard JSON · Open Standard

AI companies currently scrape the web with almost no respect for creators' wishes about training data, summarization, or commercial reuse. robots.txt and meta tags are inconsistent or too weak. AUDP is my attempt to give every website owner — from personal bloggers to major publishers — a single machine-readable file that declares clear rules. As simple as placing ai-policy.json in .well-known/. As necessary, I think, as HTTPS once was. Standards do not start in conference rooms alone. They start as a file and a person stubborn enough to document it properly.

  • Declares training, summarization, excerpting, and commercial AI reuse preferences in one JSON file
  • Serve from /.well-known/ai-policy.json, HTTP header, or HTML link rel — v1.0 spec + JSON schema
  • Reference implementations in Python and JavaScript — fetch before using content
  • Example policies for news sites, photographers, open source projects, and more
07

REDLINE Notes

A sharp, zero-radius Markdown editor that feels like a real code editor — portable, private, VS Code-inspired, no install required.

Web CodeMirror · File System Access API

Tools shape thought. I wanted a Markdown editor that respected how I already think when I am deep in a problem — keyboard-first, structurally aware, allergic to friction — without installing another app or creating another account. REDLINE Notes opens from a single index.html. Tabs, command palette, workspace folders, live GFM preview, outline navigator. The red accent is not decoration; it is a reminder to write with intent. I write in it. I think in it.

  • Single index.html — no install, no accounts, local-first with File System Access API workspace
  • VS Code-inspired layout — tabs, Open Editors, file tree, context menus, resizable split panes
  • Command palette (Cmd/Ctrl+K), slash commands, search across workspace, history snapshots for undo
  • External images saved to assets/ next to .md files — sharp zero-radius light and dark themes