The Lab
Small, real experiments that reveal lifecycles, boundaries, and behavior in motion.
Featured experiments
Editor Save Loop
A minimal system that keeps save state, async effects, and UI feedback deterministic without leaking across layers.
Demonstrates
- Explicit lifecycle ownership
- Functional core vs imperative shell
- Side-effects containment (ports/adapters)
- Deterministic projections for UI
SPA Router
The Ignite Element v3 beta router example discussed in the functional-core essay. Explore route policy, semantic navigation requests, and environment capabilities.
Demonstrates
- Deterministic route resolution
- Authentication redirects as application policy
- Semantic navigation requests
Nested Child Router
The companion v3 beta example for parent and child navigation surfaces sharing one application-owned router source.
Demonstrates
- One router actor shared across projections
- Scoped navigation commands
- Explicit lifecycle ownership
How to use these experiments
- Start with the related post, then open the repo.
- Look for the core/shell boundary first.
- Use the "demonstrates" list as a checklist while reading code.
Want the reasoning behind these experiments?
Each experiment maps to writing that explains the architecture, boundaries, and tradeoffs.