Geospatial Imaging
Altilytics
Agricultural analysis platform for VNIR push-broom hyperspectral imagery.
This system processes raw drone-mounted hyperspectral datacubes into map-ready Cloud Optimized GeoTIFFs, then serves them through a browser-based Leaflet viewer. It supports spectral-band inspection, vegetation indices, canopy masking, per-pixel queries, and bounding-box regional analysis across processed vineyard flights.
What It Does
Converts raw ENVI hyperspectral datacubes and image-geometry maps into browsable spectral products, including HNDVI, NDVI, red-edge indices, water indices, and individual wavelength bands.
Architecture
Raw flight data lands in S3, AWS Batch runs a containerized Python processing pipeline, outputs COG layers and manifests back to S3, and API Gateway/Lambda exposes job metadata and analysis endpoints to a static Leaflet web app.
Processing
The worker loads geometry maps, builds interpolation contexts, mosaics flight lines, filters transit legs, computes vegetation indices, writes tiled/overviewed COGs, and generates manifests with bounds and color ranges.
Infrastructure
Terraform defines the AWS footprint: S3 buckets, CloudFront, API Gateway, Lambda functions, ECR repositories, IAM, VPC resources, and Batch compute. GitHub Actions deploy infra, web assets, Lambda containers, and the Batch image.
Music Analysis
Basstab Pro
Audio analysis, transcription, and practice tooling for bassists and guitarists.
Basstab Pro turns an uploaded or local song into a playable analysis workspace: bass tab, chord timeline, strum patterns, solo transcription, practice suggestions, scale views, waveform navigation, and PDF-ready output. The project spans a browser app, Electron desktop app, FastAPI local backend, AWS Lambda APIs, AWS Batch audio analysis, and optional encrypted cloud sync.
What It Does
Analyzes songs into instrument-aware practice material: separated stems, bass transcription, chord sections, structure labels, AI-generated practice tips, and interactive playback views.
Architecture
Static frontend assets talk to API Gateway and Lambda for auth, library, payments, chat, imports, and job submission. Heavy analysis runs in AWS Batch or locally through the Electron desktop app's managed Python/Demucs environment.
Pipeline
The analysis pipeline combines source separation, chord detection, bass transcription, octave correction, structure segmentation, copyright fingerprinting, waveform extraction, and AI-generated musical guidance.
Privacy + Sync
Desktop mode keeps original audio and stems local by default. Cloud library imports store structured analysis JSON, while optional stem sync encrypts audio client-side with AES-GCM before S3 upload.
Tabletop Companion
Conquest Battle Manager
A focused command dashboard for tracking Conquest army state, activations, and rules context.
Conquest Battle Manager is a browser-based tabletop companion for managing regiments, attached characters, command cards, army resources, victory points, wounds, attacks, and turn-by-turn activation flow. It keeps unit stats, active rituals, buffs, bonuses, and relevant rules prompts visible during play so a complex battle can move quickly without losing tactical detail.
What It Does
Tracks regimental health, stands, attacks, activation status, scoring, army resources, command-deck effects, and unit-specific abilities in a single play-focused interface.
Game Flow
Supports turn progression, victory-point tracking, activation completion, broken and destroyed states, and attack/defense context for the currently selected regiment.
Rules Context
Surfaces abilities, buffs, bonuses, rituals, and rules reminders relevant to the selected unit and its current role as attacker or defender.
Interface
Uses a dense dark-mode command layout with a left-side army roster and a main tactical panel optimized for quick scanning during tabletop play.
WWI Strategy Game
Aces of the Western Front
A simultaneous-turn browser dogfighting game with optional AI opponent.
Aces of the Western Front is a two-player tactical air-combat game built around hex-grid positioning, hidden maneuver selection, aircraft-specific performance envelopes, tailing logic, fuel constraints, collisions, and damage modeling. It can be played between two browser tabs or against a Claude-powered opponent that produces in-character radio commentary and post-battle logs.
What It Does
Lets players select historical aircraft, plan maneuvers secretly, resolve movement simultaneously, fire guns automatically by firing arc and range, and conclude battles through damage, fuel, collision, separation, or loss of legal movement.
Game Logic
Maneuver legality depends on aircraft, speed band, prior advanced maneuvers, slow-streak limits, structural damage, and tailing state. The aircraft models include Sopwith Camel, SPAD XIII, Fokker DR.I, and Albatros D.V.
Architecture
The frontend is a no-build-step Canvas app served from S3/CloudFront. A Node.js Lambda behind API Gateway handles game state, authentication, pilot logs, statistics, and AI integrations, backed by DynamoDB.
Infrastructure
Terraform manages Lambda, DynamoDB, API Gateway, CloudFront, and the S3-hosted frontend. GitHub Actions deploys dev and production environments and runs Node's built-in test runner before deployment.
Unity Simulation
Eight Hours to Daylight
In development
A Unity 6 anti-submarine warfare simulation and tactical command prototype.
Eight Hours to Daylight models a destroyer or corvette escort hunting submerged U-boats with sonar, depth charges, hedgehog salvos, convoy defense, weather, bridge commands, and mission debriefing. The project is built as a set of dedicated gameplay systems for mission flow, sonar behavior, submarine evasion, convoy movement, weapons, audio, and command UI.
What It Does
Provides scenario setup, ship selection, sonar-room instrumentation, submarine evasion behavior, convoy engagement, escort tactics, weapon handling, resource exhaustion, and ranked end-game results.
Simulation Core
The sonar model computes range, bearing, beam intersection, blind zones, dead zones, and closing rate as the tactical situation changes.
Mission Systems
The mission layer tracks victory and defeat conditions, weapon inventory, elapsed time, convoy losses, multi-submarine encounters, and end-of-mission performance results.
Runtime UI
The menu and bridge interface let the player configure scenarios, ship type, submarine count, weapons, escorts, thermal layers, season, and mission loading flow.