Skip to content

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.

Projectprototype

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

TypeQuestionAnswers
ChoiceFor this unknown file, should a viewer be invented or should it be inspected?invent · inspect
ChoiceWhich catalogue components should compose the viewer for this known file kind?—

How it works

  1. Detect the dropped file's kind
  2. Known kind: Jev composes a viewer spec from the catalogue
  3. Unknown kind: Jev routes to invent or inspect
  4. 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.

    ProjectbetaTypeScript
  • Prompt-first music studio where Jev makes every compositional choice, from plan to each bar pattern, rendered as editable MIDI.

    ProjectbetaTypeScript
  • Vercel Labs' generative UI framework with an experimental compose path where Jev picks which catalog components and actions to render.

    ServicebetaTypeScript
  • Community shadcn-style React components and interactive lab for building TypeSafe AI interfaces.

    ProjectbetaTypeScript
  • web4kit starter site whose home page is planned per visitor by a System One model (Jev or local LAYA), with calibrated fallback to rules.

    ProjectbetaTypeScript
  • Emoji autocomplete that asks Jev eight parallel questions per typing pause: emoji choice, emotion, mood, urgency, sarcasm and more.

    ServiceprototypeTypeScript