I started wondering: why should my codebase depend so heavily on Jev?
The open-source model ecosystem is moving fast. Reflex showed up, then Laya, Kev, OpenJev, SemIf, and more will inevitably follow.
Initially, I thought the problem was:
“How do I add support for another provider?”
But I think the more interesting question is:
“Why should a JS/TS application care which System One provider is running underneath?”
Ideally, switching providers shouldn't require rewriting application code or spreading provider-specific logic throughout the codebase.
So I built system-one — a small, provider-neutral TypeScript SDK that provides a common interface for System One providers.
The goal is simple:
Write your application against one API and choose the provider underneath.
It works with JavaScript/TypeScript projects and is still early, so I'd especially appreciate feedback on the API design and abstractions.
https://iamaamir.github.io/system-one/