Skip to content

Voice Control

Unreleased Rails engine that turns Ruby-defined commands into voice and typed shortcuts, using Jev to interpret free-form phrasing while your own authorize callbacks keep the permission decision.

Stars
1
Language
JavaScript
License
MIT
Published by
Community
Author
igorkasyanchuk
Last verified
Oct 2026

About this project

▶ Watch the demo on YouTube. You say it. Your app does it. Voice and typed commands for Rails. Define actions in Ruby, keep your authorization, and give users a shortcut to the work they already do. Say “show people.” Your app opens its users page. No runtime database, migrations, Node build, or CSS framework. Rails 8.x, Ruby 3.2+, MIT. A short-lived execution cache is required; production uses a shared atomic cache.

Quoted from the project's README. Read the full README.

Highlights

  • Commands are Ruby callbacks, not generated code, so visible:, authorize:, argument extract and validate run against your existing policy objects and helpers.
  • Page scopes limit what Jev and the help menu see: pages: takes exact strings or regexes, so a command is only offered on the paths you name.
  • The Jev key stays on the server and never reaches the browser; help selections work without a key, and only free-form interpretation needs one.
  • With browser_actions enabled it discovers visible controls at command time, covering click, fill, select, check and submit, so buttons need no registration.

Watch out

Unreleased, and the gem is not on RubyGems, so installation means building a local copy from this source checkout and using bundle install --local; the demo repository also needs access while it is private. Commands execute immediately once their arguments are complete, with no confirmation dialog added, so the README says to start with navigation and actions you can safely expose to the authorized user. Authorization defaults to denying access until you configure authorize:, and page scopes are only routing hints supplied by the browser, so they are not a security boundary. Rails 8.x and Ruby 3.2 or newer, and a short-lived execution cache is required: production needs a shared atomic cache rather than the local MemoryStore fallback that development uses when NullStore is disabled. The gem requires JSON 2.x because the supported Rails 8.0 and 8.1 versions use JSON APIs that changed in JSON 3, and Bundler applies that automatically. Standard cookie sessions and CSRF protection are required, so an API-only app has to enable those Rails facilities. Your action owns transactions, tenant scoping and domain idempotency; the gem does not wrap them, and callbacks run in the request controller where your helpers and current_user are available. Arguments use symbol keys and context uses string keys. The widget is a Shadow DOM element with Turbo support and engine-served assets, so no importmap, bundler or asset-manifest change is needed. No accuracy, latency or cost-per-command figures are published; the demo falls back to deterministic local matching when no key is present. Our README copy is truncated mid-sentence in the browser-actions list, so the remaining actions and the deployment notes are not documented here. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

19GitHub stars
Rails decision layer that evaluates noul, choice and score questions about app state in one Jev request, with per-question confidence floors that gate auto-action versus human review.
Jev Integrations & Adapters#community#jevbest#catalog-import
19GitHub stars
Ruby gem that models Jev as field predicates: feels and decide bind to model attributes with shared definitions, thresholds, confidence gates, batching, and test tapes.
Jev Integrations & Adapters#community#jevbest#catalog-import
6GitHub stars
Community n8n node that adds a Jev judgment step to workflows, returning one of your options with probabilities so unsure items can go to review.
Jev Integrations & Adapters#community#awesomejev#catalog-import
Task plugin that puts TypeSafe's System One endpoint behind a QuantumNous/new-api channel, so clients keep posting `/v1/systemone` while new-api handles auth, routing, model mapping and token billing against either TypeSafe or the Vercel AI Gateway.
Jev Integrations & Adapters#community#jevbest#catalog-import
6GitHub stars
MCP layer that lets an agent harness ask Jev for a bounded choice from a candidate set it already allows, while permissions and execution stay with the host.
Jev Integrations & Adapters#community#jevbest#catalog-import
2GitHub stars
A Next.js workbench that converts OpenAI-compatible Chat Completions requests into Jev state and typed questions, compares chat output against structured judgments, and publishes saved question packs as proxy routes. The interface is mainly in Chinese.
Jev Integrations & Adapters#community#jevbest#catalog-import
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai