#>projects
3 on the bench as of 2026-09-29

Projects / Time spent / Lineage

Three pieces on the bench

I'm Spwashi. I build software and make art. Three pieces are on the bench right now: a workbench for the Spw language, this site, and a stack of laminated folios. Each one opens to the real thing, and each carries the marks it left in git.

A commit is a save, not an hour. An active day is a date with at least one commit. Quiet years leave no mark at all.

^spw_workbench

Spw Workbench

The parser, runtime, language server, command line, and editor extensions for Spw, kept as an organelle this site mounts rather than a center it orbits.

first commit
2026-01-08
commits
506
active days
69
last commit
2026-09-22
#>spwashi_com

spwashi.com

The page you are reading: routes written by hand in HTML and CSS, readable before any script runs, with a .spw layer that says how each part behaves.

first commit
2024-01-11
commits
1,691
active days
126
by year
30 in 2024, none in 2025, 1,661 in 2026
.folios

Laminated folios

Printer-paper-sized sheets, collaged and laminated, painted a season at a time and painted again the next year. Fifty-eight are scanned, and every scan stands on something you could hold.

shelf opened
2026-06-13
commits
40, across 20 active days
scan releases
2026-09-26, 27 and 28
the stack itself
older than the repository
~lineage

The line that led here

My public repositories go back to July 2016, the workbench and this site among them. The first, factshift, asked how content could fit a learner. Read in order, you can decide how often that question comes back.

  1. 2016–2017 — factshift, a learning tool that broke concepts into linked pages and sections so content could be tailored to a learner's needs. 60 commits.
  2. 2017–2019 — frameworks written to learn frameworks. SmJS defined entities and exported them as JSON; SmPHP read that JSON to configure its data layer; smphp-mysql wrote the queries; wanghorn was the practice app that ran on both. 722 commits between them; wanghorn alone made 86 in April 2018.
  3. 2020–2021 — the notation gets a parser. spw-client, then ts-language for building grammars, spw-editor for writing Spw, and spw-js (2021–2024), the grammar, parser and runtime. Its README says Spw came from merging a content-tagging system for educational resources with a philosophy project about analogies. react-d3 ran alongside.
  4. 2021–2023 — frontend-codebase, a React app whose to-do list was written in Spw-style brackets (132 commits in April 2023), and spw-parser (2022–2025), a from-scratch rewrite of part of spw-js.
  5. 2023–2024 — a season of small experiments: D3v7, a force-simulation playground with hotkeys (143 commits in November 2023); parser, a Spw parser in the browser; Go image and game sketches; a script that splits a layered PSD and composites its layers into short movies; tealstripesvibes.com.
  6. 2024–2026 — this site, then the workbench it mounts. spwashi.click and spwashi.work are small siblings from one weekend, February 28 to March 1, 2026.

Counts are commits by author date, as of September 2026. The repositories are public on GitHub. Spw's own starting point, a 2017 course on learning from text, is told in the website field guide.

^neighbors

Where the same work is told another way