User repository on GitHub
Kotlin Multiplatform client for Jev that returns your own enum/sealed types instead of string keys.
- Forks
- 1
- Last pushed
- Updated Sep 2026
Repo stats from the GitHub API, cached Oct 2026.
Unofficial Kotlin Multiplatform client for Jev across JVM, Android and iOS. You declare the decision as an enum implementing Criterion and read back typed answers, distributions and confidence.
User repository on GitHub
Kotlin Multiplatform client for Jev that returns your own enum/sealed types instead of string keys.
Repo stats from the GitHub API, cached Oct 2026.
A Kotlin Multiplatform client for Jev, TypeSafe AI's System One model. You describe the decision in your own enums; kojev asks Jev and hands the answers back in those enums. kojev is unofficial and not affiliated with, endorsed by, or supported by TypeSafe AI, Inc. "TypeSafe" and "Jev" are trademarks of TypeSafe AI, Inc. Targets: jvm, Android, iosArm64, iosSimulatorArm64, iosX64. kojev is on 0.x: it follows Semantic Versioning, and breaking changes should be expected between any two 0.x releases (see CHANGELOG.md).
Quoted from the project's README. Read the full README.
Watch out
It is 0.x and says so: breaking changes should be expected between any two 0.x releases, with a changelog to track them. jev-latest is an alias that moves with releases, the examples pin a versioned model id, and result.model reports the versioned model that actually answered alongside token usage and a request id for support. You bring your own Ktor engine, for example ktor-client-cio, because kojev pins none. Everything a decision throws is a JevException, and a 2xx that does not match what you asked, such as a missing answer, an unknown label or a value out of range, throws JevResponseException rather than becoming a default, which is deliberate but means an upstream shape change surfaces as an exception rather than a fallback. Retries default to the official SDKs' values, and a wait the total budget cannot afford is not taken: the failure is thrown immediately carrying the server's retryAfter, so the decision to wait longer is left to you. On where the key belongs, the Android and iOS targets exist so domain types and questions can be shared with app code while your backend holds the key and calls Jev; only a bring-your-own-key app should have a device call the API directly. Send a structure built for the decision rather than your whole domain object, because accuracy falls as the state grows with content unrelated to the questions. The comparison table notes that on the JVM jev4k is the more convenient client with optional enum descriptions and threshold helpers, and that typesafe-sdk-kotlin is a faithful port of the official JavaScript SDK, so kojev's narrowness is a deliberate trade rather than a gap. Our README copy is truncated mid-sentence in its development-history link, so the docs index, licensing and contribution details are not documented here. Copy reviewed against the repository README on 2026-10-04, not from running it.
Original write-ups on what this entry is for.
Posts from builders shipping with Jev right now.