Skip to main content

Now booking 2026-2027 weddings · events & launches year-round

See how to hire →

Working Projects

Projects

A low-key index for software, simulation, and experimental tools that are still changing too quickly for the main portfolio.

photoArchive library grid showing a curated landscape collection with folder tree and ranking panels.

Software / Self-hosted

photoArchive

In active use

Open-source, self-hosted photo software for a local-first archive: fast library browsing, three-engine search, taste-learning ranking, Develop workflows, mobile access, proofing, and publishing.

FastAPISQLiteLocal AIElo RankingPWADevelop
Orbital Mechanics showing a vector Earth map, spacecraft, maneuver node editor, and navball.

Simulation / Game

Orbital Mechanics

Active prototypeActive Build

A retro CRT vector-display orbital mechanics game: Apollo-style CSM on patched-conic physics with maneuver nodes, trans-lunar flights to a kinematic Moon, and a green-phosphor mission-control console.

Three.jsOrbital MechanicsApolloVector UIGame Prototype

Current Shape

  • Patched-conic physics: RK4 + exact Kepler on-rails time warp, SOI handoff to a kinematic Moon.
  • Maneuver node editor with TIG/prograde/normal/radial planning, predicted orbit, and finite auto-aligned burns.
  • Apollo orbit-ops assists: attitude holds, solved TLI/CIRC burns, LOI/TEI, orbit checkpoints, navball.
  • Real HYG star catalog and Natural Earth coastlines on a green-phosphor vector globe (Vite + TypeScript).

Latest Update

Full Apollo Stack: CSM + LM

172b67c

Two independently simulated craft: undock the LM, fly a powered descent to a lunar touchdown, jettison the descent stage, ride the APS back to orbit, rendezvous and hard-dock with the CSM. S-IVB third stage (real J-2 numbers) flies TLI and gets staged away. Verified end-to-end: landing at 278 kg of DPS fuel, ascent to a 331x296 km lunar orbit, crew transfer, TEI home.

Marshlight Sanctuary pixel-art scene with capybara caretakers, a guinea pig, cottages, flowers, and a river.

Game / Cozy Simulation

Marshlight Sanctuary

Living multi-day sanctuary buildActive Build

A cozy wetland restoration game where every capybara in town is helping turn an overgrown riverside into a safe sanctuary for guinea pigs, chinchillas, degus, and other small residents.

Cozy GamePixel ArtCapybarasCanvasTypeScriptMobile

Current Shape

  • A complete first-day story: meet the town, gather materials, clear a meadow, build a habitat, care for it, and welcome Pip home.
  • Purpose-built phone play with an analog thumb stick, context-aware action button, safe-area layouts, and tap-to-walk.
  • A deterministic 32-pixel world with clustered grass, paths, banks, and water, plus a player-centered camera and expressive original capybara art.
  • A persistent tile-building system for paths, fences, garden beds, and shelters, now connected to planting, watering, multi-stage crop growth, and harvest income.
  • A four-season calendar, daily forecast, rainy-day auto-watering, seed cabinet, three crop economies, and overnight earnings recap create a repeatable sanctuary rhythm.
  • Mayor Mallow, Dr. Nori, and Juniper now follow weather-aware daily schedules; conversations react to time, weather, and friendship, while one daily gift deepens each relationship.
  • A richer original pixel-art pass adds lanterns, flower beds, a cottage garden, river life, roof fringe, layered grass clusters, and direction-aware capybara movement.
  • The sanctuary now grows past its first resident: clear, build, prepare, and welcome Mochi and Bean into two additional habitats, each with its own arrival moment and ledger trail.
  • A deterministic seven-day town-event rhythm now gives every morning a bulletin and every overnight a preview, while layered Web Audio cues make gathering, gifts, welcomes, and celebrations feel distinct.
  • Each town moment is playable: walk to its location, join it once per day, collect a themed reward, and watch the bulletin mark the gathering complete.
  • The river is now a real activity: equip the Rod, cast from the bank, and earn deterministic fish catches that respond to the day, weather, and time.

Latest Update

River fishing activity

27646ea

Added a fifth Rod tool and a riverbank fishing loop with deterministic weather/time catches, energy cost, coin value, daily earnings, touch labels, and regression coverage.

Machine Frame Lab engineering workstation showing extrusion inputs, finite-element mode shapes, design criteria, and resonance analysis.

Engineering / Simulation

Machine Frame Lab

Working toolActive Build

A preliminary machine-frame engineering workbench for comparing aluminum extrusion, rail, and fill stacks against explicit design limits. It solves static and modal beam response, checks spindle and tooth-pass resonance, and exports a traceable analysis record.

Finite ElementsModal AnalysisMachine DesignTypeScriptReact

Current Shape

  • Assembled Euler-Bernoulli stiffness and consistent mass matrices with a point carriage mass and numerically solved mode shapes.
  • Focused verification against closed-form simply supported, fixed-fixed, and cantilever beam solutions.
  • Editable deflection, first-mode, and modal-separation limits with a controlling-criterion verdict and safer-RPM guidance.
  • Twenty-five seeded extrusion profiles, custom section-property intake, shareable configurations, and exportable JSON analysis reports.

Latest Update

Finite-element modal solver and design qualification

b065804

Replaced analytical modal shortcuts with a generalized finite-element eigenproblem, added explicit acceptance criteria and model-confidence guidance, rebuilt the resonance view around operating decisions, and verified the workflow at desktop and phone widths.

gb-2048 running on a Game Boy Color: a four by four board of cream, amber and orange tiles with a score bar showing the points earned by the last move.

Game / Handheld

2048 for Game Boy Color

Running on hardwareActive Build

A real Game Boy Color cartridge ROM, written in C and played on a ModRetro Chromatic over an EverDrive. Thirty-two kilobytes, CGB only, MBC5 with battery-backed save. The best score, your settings, and the game in progress all survive a power cycle, so the handheld can be switched off mid-board and picked back up.

Game Boy ColorCGBDK-2020HomebrewRetro Hardware

Current Shape

  • Tile art is generated rather than drawn: a Python step renders every glyph and tile face, then packs them into a deduplicated bank of 144 of the 256 available tiles.
  • Colour comes from the CGB palette instead of the art, so all values share one geometry and differ only by palette, and the ramp costs almost nothing.
  • Sliding animation composed in a shadow buffer with four speed settings, plus a merge flash and a staged tile spawn so a move reads as three beats rather than one redraw.
  • Sound on two pulse channels with merge pitch rising by value, so a cascade is voiced by its biggest tile.
  • Screenshots are captured by replaying a scripted joypad file through binjgb, which makes every frame of the game reproducible pixel for pixel.

Latest Update

Resume across a power cycle

3dd114d

Board, score and win state are written to cartridge RAM after every move, and the title screen offers Continue when there is something to return to. The game state lives in its own block with its own checksum so adding it could not invalidate the existing best-score save.

Austin, TX · available worldwide

Start an inquiry