A WebGL viewer that renders navigable 3D worlds (Marble mesh exports) through real-time 1-bit dithering — switchable between ordered Bayer, blue-noise, and Atkinson error-diffusion, so you can watch exactly why error-diffusion “boils” under motion while the screen-space methods stay put. Very Manhole.
A Model Context Protocol server that lets an AI assistant drive spatial-data operations inside QGIS — loading layers, running geoprocessing, querying features. Currently feeding it historical political-boundary data as test cases.
← grew from the MCP Server Collection
A cartographic-styled page that overlays and compares historical maps against modern georeferenced data, with a modal image-flip to slide between then and now. Live on the personal site.
A handheld indoor air-quality logger built on a Pimoroni Explorer board running MicroPython — TVOC sensing, CSV logging, and seaborn visualizations of workplace walk-throughs. A particulate/dust sensor is the next piece to wire in.
A TypeScript MCP server (14 tools) for generating navigable 3D worlds from text or images via WorldLabs Marble — the thing that produces the worlds the 1-Bit Viewer then chews up.
← evolved from the UE Text-to-VR World Generator
Training a LoRA on scanned antique maps and medieval mappae mundi, with a Python border-cropping and resizing pipeline to prep the source scans for AI-Toolkit / ComfyUI. Seeing how far a model can learn old cartographic style.
A semantic search CLI over my Obsidian vaults — nomic-embed-text embeddings, BM25 hybrid ranking, and wikilink graph-boosting so connected notes surface together. Built to actually find things in years of accumulated notes.
← evolved from Large Document Processing
A self-contained HTML tool that simplifies dense meshes from LiDAR scans and AI-generated STLs down to something Tinkercad will actually open without choking. Works; just waiting for the next scan that needs it.
A Python MCP server with both CLI and MCP layers for an “index-and-dive” PDF workflow — compress, extract text, contact-sheet the pages, then pull full-res pages on demand. Solid and quietly useful.
← evolved from Large Document Processing
Browser-based aquarium sim with procedurally generated fish driven by genetic algorithms — catch, breed, and evolve unique fish from 56+ genetic traits that control body shape, fins, color, pattern and behavior. Pure HTML5/CSS/JS, no dependencies.
A multi-scale genetics/evolution simulator spanning molecular genetics up to global climate, with event-driven cross-scale interactions. Handles 1000+ organisms at 60fps via a modular architecture separating genetics, climate, UI and ecosystem.
Interactive sim demonstrating Gaia Theory: black and white daisies regulate planetary temperature through albedo, teaching climate feedback, homeostasis and tipping points. Ships with NGSS-aligned lesson plans and assessments.
A Python space-exploration game blending three classics: Miner (resource extraction), Drug Wars (trading economics) and VGATrek (navigation). Traverse a 2D universe grid, mine planets, and trade minerals while managing ship repairs and supplies.
An adventure-game framework for delivering educational content through exploration and puzzle-solving — inventory management, dialogue trees, interactive environments, and LLM-driven AI characters for dynamic conversation.
Autonomous AI-driven characters living in a virtual town with individual personalities and routines, interacting based on relationship dynamics to create emergent storytelling.
ML research into autobiographical memory retrieval — neural architectures inspired by human memory systems, with temporal modeling, multimodal learning, and cue-memory association for memory prediction and pattern recognition.
A conversational AI that conducts psychological assessments through natural dialogue — real-time MBTI typing, Big Five analysis, cognitive-function mapping and emotional-trajectory visualization, with a live dashboard. Local LLM via Ollama.
Investigation into how visual patterns, colors and imagery trigger positive emotional and longer-term mood responses — biophilic responses, cross-cultural physiological measurement, and the neuroscience of aesthetic preference.
Research on how noise-color spectrums (pink, brown, white, blue…) affect cognition, learning and auditory processing, with a focus on classroom applications. Paired with the acoustic-design work.
Analyzes video for incongruence between verbal and non-verbal channels — micro-expressions, voice-stress patterns and multimodal inconsistencies — aimed at self-analysis and personal development rather than judging others.
MindWave EEG integration for real-time brainwave monitoring across Delta–Gamma bands, with attention/meditation tracking and temporal pattern recognition. Core piece is an MCP server bridging the EEG interface to an AI for an adaptive-learning system.
Systems that adapt in real time to brainwave data — from subtle pacing/complexity changes to dramatic interface shifts — achieving 70–95% accuracy detecting attention, meditation and cognitive-load states.
A Model Context Protocol server streaming real-time EEG from MindWave headsets — WebSocket streaming, FFT frequency-band analysis, and integration with assorted analysis tools.
Edge-AI engagement analysis on a Raspberry Pi 5 + Hailo-8L — anonymous tracking of expression, body language and participation to flag when a room is engaged, confused or fatigued, with predictive and social-dynamics analysis.
Statistical system spotting unusual absence patterns across class periods — kurtosis, entropy measures and pattern detection to flag strategic absences and policy-gaming. Runs without the ML module on a standard machine.
A bias-reducing survey system that turns questionnaires into natural conversation — indirect questioning, rapport building and adaptive flow, with trust-level tracking and sentiment analysis.
Preprocessing for large documents before AI analysis — semantic search with embeddings, extractive summarization and intelligent chunking to optimize context-window usage, using local models for embeddings and relevance scoring.
→ became pdf-preparer & note-search
Analysis tools for EEG data in SQL databases or CSV — relationships between brainwave bands and activities via clustering, correlation analysis and temporal pattern recognition for neuroscience research.
Reverse-engineers SC2000 save files and reconstructs the cities as photorealistic, VR-navigable environments in Unreal Engine 5.
Real-time vehicle detection and tracking on a Pi 5 + Hailo-8 (26 TOPS) — YOLO/MobileNet SSD at 30+ fps, speed and acceleration calculation, plus audio analysis correlating engine noise with driving patterns.
Development for vintage TMS1000 4-bit microcontrollers within their 43-instruction set, 1K ROM and 64×4-bit RAM — efficient assembly programming for these classic embedded systems.
A web-based multiplayer island-management simulation with WebRTC peer-to-peer networking, AI players of multiple personality types, and complex environmental simulation — all self-contained HTML.
Audio synthesis tool for generating colors of noise (pink, brown, white, blue…) with specific frequency characteristics for research and therapeutic applications.
Rapid AI-assisted prototyping to test hypotheses about attendance-data patterns — identified statistical functions distinguishing consecutive vs. scattered absences through iterative testing on synthetic datasets.
Analysis and optimization of high-rise elevator systems — algorithms for efficient passenger routing and wait-time minimization.
A Python GUI for programming robots via audio cassette commands — a visual timeline for sequencing commands (Light, Bleep, Forward, Back, Left, Right, SoundOn/Off), voice recording, 2-second processing gaps, drag-and-drop editing, and MP3 export for cassette recording.
Mathematical modeling for fountains that produce specific noise colors through water-flow dynamics — impact acoustics, basin resonance, material absorption and turbulence — using Helmholtz resonance and spectral-slope models.
Wind-driven acoustic architecture — Aeolian harps, Helmholtz resonators, edge-tone generators and vortex whistles — with mathematical models for wind-speed variation, turbulence effects and structural resonance.
A system for designing entire urban acoustic environments — integrating multiple sound sources into acoustic zones, path-based experiences, and multi-scale design from courtyards to parks, with waterfront, mountain and desert modules.
Several Model Context Protocol servers for varied integrations, including EEG data streaming with frequency-band analysis and an NHA App OAuth/Okta-authenticated bridge to school communication systems. TypeScript/Node.js, token-refresh, broad API coverage.
→ grew into the QGIS MCP Server
A school-assignment optimizer for 18 supervisors visiting 104 schools — Google Maps API routing, geographic clustering, and the Hungarian algorithm plus linear programming for optimal assignment that minimizes total travel time.
Generates explorable 3D/VR environments in Unreal Engine from text descriptions — Python integration for procedural generation, a blueprint spawning system for interactive elements, and VR-specific setup.
→ became the WorldLabs Marble MCP
A pen-plotter tool converting raster images to multi-pen SVG — 7 drawing styles, K-means color reduction to match available pens, TSP path optimization, and separate file export per pen color. GUI and CLI.
Turns video into formatted screenplays via a distributed pipeline: a Pi 5 + Hailo8L NPU handles scene detection and face recognition while an RTX 3090 runs Whisper transcription and vision-language scene description (BLIP-2/LLaVA). PySceneDetect, face_recognition and Ollama-hosted Mistral/Llama do the final formatting, orchestrated over Flask REST APIs.