Building imaJev: giving Jev eyes
imaJev is a small tool I built and shipped live: upload a photo, ask it anything in plain language, or build an if/else decision tree over it, and get back typed, calibrated answers instead of a paragraph of generated text. It came out of using Jev, TypeSafe's System One model, on this portfolio's own AI features and wanting to see what it could do with images, since Jev itself only reads text.
The trick is a three-step pipeline. A vision model (Gemini, called through OpenRouter) describes the photo in exhaustive, literal detail first. A second model call then reshapes your free-text questions, and any if/else conditions you wrote, into Jev's typed primitives: Noul for yes or no, Choice for picking one of a named set, Score for a position on a scale. Jev answers everything in one batched call, and the if/else chain is walked deterministically afterwards, so the outcome is never a guess dressed up as prose.
It is open to anyone, no sign-in, rate-limited per IP so it stays free to run. Images are never written to disk or a database anywhere in the stack. I also built the same three steps as a visual n8n workflow, for anyone who would rather see and edit the pipeline outside the app instead of reading the code.
It is live at imajev.vercel.app if you want to try it.