airstrike Andy Terra ยท Rust, iced, and the occasional web experiment

An index of things I've built and put out in the open. Most of it orbits iced, the Rust GUI library. Source lives on GitHub; crates on crates.io.

Live open in a browser

elevato.rs play

A faithful rewrite of Elevator Saga in Rust. Program a bank of elevators in Rhai, watch the simulation, clear the challenges. One iced codebase runs natively and in the browser via WebAssembly; the repo doubles as a working example of iced + canvas + Rhai on wasm.

elevato theme gists

The warm-paper, lamp-green, all-mono theme behind elevato, as a drop-in for iced or CSS.

hexrgb tool

HEX โ†” RGB converter with a live background preview. Nothing more.

swash.ink write

Write together. A collaborative editor on a CRDT core (Rust โ†’ WASM) with CodeMirror 6 on top, running on Cloudflare Workers, Durable Objects and KV. Dark, light, and a paper mode.

anthrology listen

A time-travel radio. Tune the dial to a year, 1950 to 2025, instead of a frequency and hear what that year sounded like: songs weighted by a decay model that peaks at release and fades, with the evergreens still drifting in. Vite and TypeScript up front, Bun and Hono behind, YouTube doing the playing.

tether story

TETHER, a narrative space game in the making. Read the pitch, screenplays and storyboards.

font features

iced on WebAssembly, poking at type: toggle OpenType features like ligatures, small caps, tabular figures and stylistic sets, and drag the optical-size and weight axes live.

pathfinder

Interactive pathfinding visualization: optimal routes around polygonal obstacles.

iced crates, widgets, tools

sweeten crate

Sweeten your daily iced brew. Extra widgets and helpers.

crushy linter

An iced-specific linter: a clippy fork with every upstream lint removed and a new set written for iced application code.

markright widget

A rich text editor widget for iced.

tabular widget

A table widget with selection, flexible enough to make editable cells.

chillcam crate

Webcam capture and rendering for iced applications.

hyozu crate

Charts for iced.

dragking widget

A very simple drag and drop for iced's Row and Column.

iced_grid widget

A likely cursed but ostensibly clever grid widget.

iced_ellipsize widget

Ellipsize text in iced.

iced_receipts example

Clean screen management, unified event handling, keyboard-navigable forms.

iced_openai app

A minimal OpenAI desktop chat app.

sleepy_hollow experiment

A random walk through the headless renderer and shader downsampling.

iced_comic comic

A short comic about iced.

iced_fontsampler tool

Preview fonts inside iced.

Claude Code skills the ones worth sharing

# one skill, or several, or everything (skills + guides)
curl -sL https://airstrike.fyi/install.sh | sh -s iced
curl -sL https://airstrike.fyi/install.sh | sh -s all
/iced

Compose iced apps that hold together: workspace layout, TEA composition with Action<I, M> and .map() bubbling, iced API conventions, Rust style. Leans on the guides below.

/map

Massive Action Plan. Explore, draft, get agent critique until approved, compare against reference implementations, then produce phase docs. For big features.

/minimap

The 2โ€“5 commit version of /map: one plan file, one round of critique, then execute.

/handoff

End-of-session checklist that writes the handoff doc for the next session.

/goon

Resume a project: read the latest handoff and plan, check the tree, carry on.

/bro

Restate the last message in plain human language. No jargon.

Guides install to ~/.claude/guides

Rust style

Module structure (foo.rs + foo/, never mod.rs), naming, error handling, imports.

Opaque types

Make illegal states unrepresentable. Every type is minted from a transformation.

iced mental model

iced is not immediate mode. Where work happens: update vs view, layout vs draw.

Push state down

TEA composition at scale: instructions, &mut handles, keeping update flat.

Decisions log

The D{N} entry format: issue, options table, recommendation.

Elsewhere ML, data, and the Excel years

tatami

Backend-agnostic multidimensional cube trait for Rust. Foundation for Pigment/Anaplan-style financial models.

FeGPT

A toy GPT in Rust, inspired by nanoGPT.

fired

Neural network regression with burn and polars.

decision-trees

ID3 and Gini binary split algorithms.

xlbuilder

Parse annotated VBA modules and build an Excel add-in from the CLI.

Terra

An Excel add-in for Wall Street professionals.