JevBar
Hold a key, say what you want, and it gets done in whatever app is in front of you. It fills forms completely and never submits them.
01 · Try it
JevBar filling a real internship application from one spoken sentence · 1 min 14 s
Try to get something past it
Try “Resend code”, “Next”, “Post comment” or a password field.
Test cases
| click “Next” | – |
| click “Save draft” | – |
| click “Submit application” | – |
| click “Resend code” | – |
| click “Send” | – |
| type into “Password” | – |
A line-for-line port of Policy.swift. Whole phrases are matched against the control’s own words, so “Resend code” is not mistaken for “Send”, and “Next” and “Save draft” stay allowed, or no multi-page form could be filled.
02 · The problem
Job applications ask the same thirty questions in thirty different layouts. Desktop agents that promise to help usually point a model at a screenshot and let it click wherever it thinks is right.
JevBar takes the opposite approach. It reads the screen as structured data, handles common commands without a model at all, and treats anything that would send, submit or publish as off limits.
03 · How it works
Scroll the steps. The scene follows.
accessibility tree · 6 named controls
“Fill in this application”
form filler · page order · no model needed
authorize(.click, "Submit application")
→ .refuse("…JevBar fills it in and stops;
sending it is yours.")Report
Filled 4 of 4 fields, in page order
Left for you the submit button
Not submitted. Review it and send it yourself.
Illustrated from the project’s README and code. Values shown are examples.
- 01
It reads the screen, it does not look at it
JevBar reads the macOS accessibility tree through a Swift MCP server, so every button and field arrives with an id and its real accessible name. A model picks an element from the list JevBar built. It never supplies coordinates or selectors.
- 02
Rules first, model second
Opening apps, searching sites and clicking named links are handled deterministically. Form filling reads the page as a list of questions and uses a tested method for each kind of control: text, search-with-suggestions, dropdowns, radios, checkboxes and dates, in page order.
- 03
Every action is authorised in code
A pure function checks each click and keystroke against the control’s real accessible name before it happens. Anything that looks like a final submit, send, post or publish is refused, and passwords, passkeys and one-time codes are never entered.
- 04
Answers grounded in your CV
Open questions are drafted with Gemini from your own CV and profile. Grades, salary, family and demographics come only from your saved profile, never from a model’s guess. Afterwards it reports what it filled and what it left for you.
04 · Architecture
The whole system, running.
Built with