Filelathe
Drop a file and get a viewer: Jev composes UIs for known formats and routes unknown ones, with Haiku inventing specs only when needed.
Overview
Filelathe turns a dropped file or URL into a floating window with the right tool: media players, editors, inspectors, or a newly invented mini-app for formats nothing else handles. Detection first classifies the file kind; dedicated paths handle Doom WADs, archives, office documents, spreadsheets and slide decks, with archive and WAD bytes staying client-side.
For known kinds, Jev composes a viewer specification from catalogue candidates via json-render's experimental compose function. For unknown kinds, Jev routes the file between inventing a viewer and inspecting it, and Claude Haiku invents a spec only when Jev says the format is unknown; a binary inspector is used rather than inventing an emulator. It is a Vite single-page app with Vercel serverless APIs, sliding-window rate limits, and graceful fallbacks when either model is unavailable. A live version runs at filelathe.com.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | For this unknown file, should a viewer be invented or should it be inspected? | invent · inspect |
| Choice | Which catalogue components should compose the viewer for this known file kind? | — |
How it works
- Detect the dropped file's kind
- Known kind: Jev composes a viewer spec from the catalogue
- Unknown kind: Jev routes to invent or inspect
- Haiku invents a spec only when routed to invent
Strengths
- Generative model used only when needed
- Many formats handled client-side
- Fallbacks when models are unavailable
Caveats
- Requires both TypeSafe and Anthropic keys for full features
- Rate-limited hosted service
Getting started
cp .env.example .env, set TYPESAFE_API_KEY and ANTHROPIC_API_KEY, pnpm install, pnpm dev.At a glance
- Type
- Project
- Status
- prototype
- Language
- TypeScript
- Runtime
- Vite SPA + Vercel serverless
- Has code
- yes
Use cases and integrations
How curated lists describe it
Drop a file or URL and get a viewer. Jev routes unknown files (invent vs inspect) and composes known-file UIs via json-render experimentalcomposeSpec. Haiku only invents a Spec when Jev says the format is unknown.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
How to compose a viewer for known files and whether to invent or inspect unknown ones.
When is Haiku used?
Only when Jev routes an unknown format to invention.
Are file bytes uploaded?
Archive and WAD contents stay client-side per the README.
Related projects
React components that use Jev judgments to choose which component renders, how lists are ordered and whether affordances show.
ProjectbetaTypeScriptPrompt-first music studio where Jev makes every compositional choice, from plan to each bar pattern, rendered as editable MIDI.
ProjectbetaTypeScriptVercel Labs' generative UI framework with an experimental compose path where Jev picks which catalog components and actions to render.
ServicebetaTypeScriptCommunity shadcn-style React components and interactive lab for building TypeSafe AI interfaces.
ProjectbetaTypeScriptweb4kit starter site whose home page is planned per visitor by a System One model (Jev or local LAYA), with calibrated fallback to rules.
ProjectbetaTypeScriptEmoji autocomplete that asks Jev eight parallel questions per typing pause: emoji choice, emotion, mood, urgency, sarcasm and more.
ServiceprototypeTypeScript