Jsonquery_GUI – A native Rust/egui desktop tool for streaming jq queries Jsonquery_GUI, a native Rust/egui desktop tool for streaming jq queries on large JSON files, was built by Anthropic's Claude AI from prompts by the repo owner, with Phase 1 MVP implemented and Phase 2 deferred. The tool supports jq-compatible queries via embedded jaq, streamed results, exact number round-tripping, NDJSON, and drag-and-drop (except on native Wayland). A native desktop tool for browsing and querying large JSON files — drag in a file or paste JSON directly , write a jq https://jqlang.github.io/jq/ compatible query, and see the result as a scrollable tree. Built in Rust with egui https://github.com/emilk/egui / eframe https://github.com/emilk/egui . This project — the code, the architecture docs, and the build tooling — was built by Claude https://claude.com Anthropic's AI , working from a series of prompts by the repo owner. It's as much an experiment in AI-driven software development as it is a JSON tool. The architecture proposal and decision docs /nujufas/jsonquery gui/blob/master/docs/index.html capture the reasoning behind the design choices along the way — open them locally in a browser to read them rendered GitHub shows .html files as source, not as pages . Phase 1 MVP is implemented: full in-memory parsing, jq-compatible queries via an embedded jaq https://github.com/01mf02/jaq , and a virtualized-tree GUI for both the source document and query results. It's solid for small-to-medium files. Multi-gigabyte files need Phase 2 a memory-mapped, lazily-resolved index , which isn't built yet. See docs/decisions.html /nujufas/jsonquery gui/blob/master/docs/decisions.html for the full roadmap and the reasoning behind what's built vs. deferred. Drag-and-drop doesn't work on native Wayland. This is a gap in the windowing library winit eframe uses , which only implements OS-level file drop events on Windows, macOS, and X11 — rust-windowing/winit 1881 https://github.com/rust-windowing/winit/issues/1881 tracks it upstream. Open File… and pasting JSON directly both work fine everywhere. As a workaround, run under XWayland instead of native Wayland if DISPLAY is set, XWayland is available and drag-and-drop starts working: WAYLAND DISPLAY= cargo run --release -p jsonquery gui Open large-ish files fast — memory-mapped, no upfront full-file copy. jq-compatible queries — a real jq implementation jaq https://github.com/01mf02/jaq embedded directly, not a reinvented query language. Streamed results — results are pushed to the UI as jaq produces them, so first ... / limit ... genuinely stop early instead of running to completion in the background. Exact number round-tripping — big integers snowflake IDs, Postgres bigints survive a query byte-for-byte instead of quietly rounding through an f64 . NDJSON support — a file with one JSON value per line is treated as a single queryable document, no separate "format" to pick. Cancellable queries — start a new query and the previous one is aborted, not queued behind it. Drag-and-drop, file picker, or paste — drop a file anywhere in the window, use Open File… , or just paste JSON into the text area and it loads immediately. Tree or raw text results — toggle the results panel between the virtualized tree and plain pretty-printed text you can select and copy with the mouse. Light and dark themes — switchable from the toolbar. Prebuilt Linux and Windows binaries can be produced with the scripts in build/ /nujufas/jsonquery gui/blob/master/build — see Building building below. No binary releases are published yet; build from source in the meantime. Requires a Rust toolchain https://rustup.rs/ stable . git clone