For a long time I thought Hyperfiddle's key benefit was strong composition, but I was confused.
Strong composition is not a key benefit (what is the thing the user seeks?), nor a key differentiator (how does it work?), but rather a value (an important belief that shapes one's decision making).
Having teased this apart, now I can pitch the benefit of strong composition in a way that speaks to a user's need:
For savvy product engineering teams with large UI surface area, Hyperfiddle is a domain specific programming language specialized for web UI. It lets you use plain function composition to wire up complex UIs without pain, bugs, or thinking about data plumbing ever. Unlike existing web frameworks that separate frontend and backend, Hyperfiddle's “distributed dataflow” architecture reunites frontend and backend into a coherent reactive expression.
Key Benefits (what is the unique value I get from your thing?)
plain function composition
no pain, bugs, or thinking about data plumbing ever
no schedule slips due to unplanned work
never have to tell your boss "it doesn't work like that" ever again
no debugging, no QA/test pain, no JIRA ticket pain
Key Differentiators (That's crazy or not credible, how can that be possible?)
distributed dataflow architecture
zero plumbing code because it is inferred by the language
lightweight (5000 LOC for entire stack)
Values (important beliefs that guide us)
Principles (things we hold axiomatic that guide our values)
“If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual. Human potential manifests itself in individuals. To realize this potential, we must provide a medium that can be mastered by a single individual. Any barrier that exists between the user and some part of the system will eventually be a barrier to creative expression. Any part of the system that cannot be changed or that is not sufficiently general is a likely source of impediment.” — Dan Ingalls, Design Principles Behind Smalltalk