A_GUZMAN c-copper v0.03
← 02_WORK
[0x03] WEB // BROWSER_RUNTIME

Lua, in the browser, mounted per route.

Pages that need interactivity declare a data-lua-module attribute on the body. A wasmoon-compiled Lua engine boots, fetches only that module, and runs it. No virtual DOM, no React — signals + hyperscript in ~180 lines of Lua.

[01] SERVER
stamps body
data-lua-module="..."
[02] BOOT.JS
reads attr,
mounts library + page
[03] WASMOON
lua.doFile()
renders into #app
01 // LIVE_DEMOS
02 // RUNTIME_TOPOLOGY

Pages without a module ship zero wasmoon.

boot.js returns early when the body carries no data-lua-module. The framework JS is fetched once per origin and cached; every page module after that is under a kilobyte.

wasmoonLua 5.4 → WASM
reactive.luasignal / effect / computed
h.luahyperscript dom builder
manifest.jsonlibrary mount list
pages/*.luafetched on demand
lua-framework.js~168 KiB
3× library .lua~2 KiB
page module .lua~0.6 KiB
non-lua routes0 bytes
03 // SELECTED_WEB_BUILDS
[build_01]

Real-time sprint board with AI assist

SHIPPED

Live sprint board over Jira Cloud. SignalR streams delta updates so the board reacts the instant tickets move. A D3 force graph lays out tag-association clusters across the backlog. An OpenRouter-backed chat assistant answers sprint-state questions inline.

Angular.NETSignalRD3Jira CloudOpenRouter
[build_02]

Fintech, banking, and multilingual WordPress at scale

ONGOING · NDA

Angular and .NET applications inside banking environments. Over sixty payment-API integrations spanning fintech rails. Multilingual WordPress at enterprise scale — localized content, custom plugins, integrations against legacy systems. Client names withheld; happy to walk through any of it under NDA.

Angular.NETWordPresspayment APIsi18nbanking