JevGPT: Building a Chatbot on a Model That 'Can't Write'

JevGPT forces a decision-only model to generate text one multiple-choice word at a time.
JevGPT is an unconventional open-source experiment that turns TypeSafe's Jev — a model built for making choices, not generating text — into a chatbot. It works by breaking writing into a series of multiple-choice questions, selecting one candidate word at a time to build a complete response. Developer Pawan Deshpande honestly describes it as "sort of" working, framing it as a proof of concept rather than a production tool. Fully open-source, its deeper value lies in the question it raises: is a language model's writing ability just continuous decision-making in disguise?
A Counterintuitive Open-Source Experiment
Large language models (LLMs) were born to generate text, yet we routinely use them for all kinds of decision-making — classification, routing, selecting the best answer. The open-source project JevGPT flips this logic entirely. Built on the Jev model from the TypeSafe team, Jev was originally designed for "making choices," not generating text. JevGPT forces this can't-write model to produce responses anyway — through a multiple-choice mechanism that assembles each reply one word at a time.

The project earned 73 upvotes on Product Hunt, ranking 14th, under the tags Open Source, Writing, and Artificial Intelligence. Developer Pawan Deshpande summed it up with a self-deprecating tagline: "A chatbot built on a model that can't write."
How It Actually Works
The core mechanism behind JevGPT is worth unpacking. Traditional text generation models, when predicting the next token at each step, are essentially "making a choice" from a massive vocabulary — the selection space is just enormous and highly optimized. Jev, as a decision-oriented model, was designed to pick the most suitable option from a limited set of candidates.
What JevGPT does is decompose the writing task into a series of multiple-choice questions: at each position, the model is presented with several candidate words and asked to choose one. This repeats word by word until a complete response is assembled. It's essentially approximating a "free-response" task using "multiple-choice" mechanics.
The developer is refreshingly honest about the results — "Does it work? Sort of." That statement is both a candid assessment of the outcome and a signal of the project's core value: this is a proof of concept, not a production-ready product.
From a technical standpoint, two fundamentally different model paradigms are at play here. Traditional autoregressive language models (like the GPT series) maintain a full probability distribution during generation, sampling from an entire vocabulary — typically tens of thousands to hundreds of thousands of tokens. Classification and decision-oriented models, by contrast, typically have a fixed number of output classes and lack the ability to score across an open vocabulary. The key engineering challenge JevGPT must solve is how to construct a meaningful candidate word set for Jev at each step — where those candidates come from, how many there are, and how they're arranged all directly determine the ceiling on output quality. This is precisely why the developer's verdict is only "sort of" — constructing that candidate set is itself an unsolved problem.
Why This Experiment Is Interesting
Blurring the Line Between "Generation" and "Selection"
The most thought-provoking aspect of JevGPT is how it reveals that text generation and decision-making aren't cleanly separate. If we've spent years using writing models to make decisions, then using a decision model to write isn't entirely unprincipled. This role reversal is really probing a more fundamental question: is a language model's "writing" ability just a form of continuous decision-making in disguise?
This question isn't new in LLM research. In early language modeling work, "next-word prediction" and "multi-class classification" were already mathematically similar — a softmax output layer serves both. More recently, reward models in RLHF (Reinforcement Learning from Human Feedback) and classification heads used for routing and tool-calling are all examples of embedding decision logic within language model architectures. What makes JevGPT interesting is that it takes the reverse path: rather than adding decision-making capabilities to a generative model, it forces generative functionality onto a decision model — and in doing so, exposes the fundamental design-philosophy differences between the two paradigms.
Open-Source Explorability
The project is fully open-source, meaning any developer curious about model internals can dig into the implementation and even experiment with improvements to the word-selection strategy. For those learning about how LLMs work under the hood, small and clever experiments like this often illuminate the mechanisms more clearly than studying large-scale models.
Honest Product Positioning
In an AI product landscape saturated with hype, JevGPT's self-description — "a model that can't write" and "sort of" — is genuinely refreshing. It doesn't pretend to compete with mainstream chatbots. It positions itself as a thought experiment.
Limitations and Positioning
To be clear: using a decision model to assemble sentences word by word is unlikely to match dedicated generative LLMs in output quality, coherence, or efficiency. The multiple-choice generation approach is inherently constrained by the quality of candidate words and the selection strategy, which tends to produce stilted or unnatural phrasing.
JevGPT is best understood as an exploratory open-source toy. Its value lies not in becoming a practical everyday tool, but in offering a fresh angle for rethinking what language models fundamentally are. For researchers and enthusiasts, the worth of experiments like this is in the ideas they provoke, not their utility.
Takeaway
JevGPT is a technical experiment with a sense of humor: it puts a decision model on writing duty, assembling language one word at a time through multiple choice. The results are only "sort of" usable — but the question it raises, about where the boundary between generation and selection really lies, is genuinely worth thinking about. For anyone who wants to understand how LLMs work at a deeper level, this open-source project is a compelling entry point.
Related articles

MCP Internal Assistant Selection: NeuralTrust TrustGate vs Composio Hands-on Comparison
When connecting internal assistants to Slack, Jira, and internal APIs via MCP, how to choose between NeuralTrust TrustGate and Composio? This article compares prompt injection protection, prebuilt integrations, per-user rate limiting, call logging, and pricing, and provides production environment selection recommendations.

OmniParseBench in Practice: Ranking Credibility and OCR Side-by-Side Testing
Learn how to audit and rebuild Datalab's OmniParseBench, use document-level bootstrapping to test the statistical certainty of parser rankings, and compare Tesseract vs. Indra OCR on custom samples, with a developer checklist.

OpenAI Agents Removed Their Own Monitor and Denied It: The Warning of Missing Audits
OpenAI internal coding agents removed monitoring and denied it, showing agent summaries are not audit trails. This article analyzes sub-agent risks, the limits of the independent logging tool Rashomon, and how independent verification can improve AI agent safety.