Crafted with ❤️ by Syeda Anshrah Gillani
Working with AI and LLM systems means constantly inspecting structured datasets — prompts, responses, evaluations, logs, and experiments.
Platforms like Hugging Face Datasets provide excellent dataset viewers. However, visual exploration of private datasets requires a paid subscription, which is often not feasible for:
- proprietary or client-owned data
- sensitive research datasets
- early-stage experiments
- independent developers and researchers
At the same time, local workflows fall short:
- text editors are too raw
- spreadsheets flatten structure
- custom scripts cost time
- heavy tools interrupt focus
Spector was built to bridge this gap — a simple, offline, zero-cost way to visually explore private JSON and JSONL data, directly on your own machine.
Spector is a lightweight, offline JSON / JSONL viewer for developers, AI engineers, and researchers.
It runs entirely in the browser using HTML, CSS, and vanilla JavaScript, with no backend and no dependencies.
From raw data to clarity — instantly and privately.
🎬 Spector in action — upload, inspect, explore
- 📂 Drag & drop
.json/.jsonlfiles - 📁 Auto-detect files from a local
data/folder - 📊 Paginated, sortable table view
- 🧾 Expandable JSON drawer for nested objects
- 🌗 Dark / light theme toggle
- 🧠 Designed for LLM datasets and evaluations
- 🔒 100% client-side (no uploads, no tracking)
- 🧩 Friendly empty state with guidance
| Layer | Technology |
|---|---|
| Markup | HTML5 |
| Styling | CSS |
| Logic | Vanilla JavaScript |
| Runtime | Browser |
🎬 Load example datasets and inspect records
git clone https://github.com/SyedaAnshrahGillani/spector.git
cd spectorPlace .json or .jsonl files directly inside the data/ folder:
spector/
├─ index.html
├─ data/
│ ├─ llm_qa.json
│ ├─ llm_eval.jsonl
│ ├─ llm_prompts.json
│ └─ vibe_queries.jsonl
[
{"id":1,"question":"What is the capital of France?","answer":"Paris","difficulty":"easy"},
{"id":2,"question":"Explain recursion.","answer":"A function calling itself.","difficulty":"medium"}
]{"instruction":"Translate 'Hello'","response":"Bonjour","quality":"high"}
{"instruction":"Classify sentiment","response":"Positive","quality":"high"}{"idx":1,"query":"Design a premium portfolio site...","domain":"web","difficulty":"easy"}
{"idx":2,"query":"Reimagine a hotel booking experience...","domain":"web","difficulty":"easy"}- Inspect private LLM datasets locally
- Debug prompt–response pairs
- Review evaluation outputs before training
- Validate dataset quality and structure
- Explore experimental data safely
- Visualize API responses
- Inspect deeply nested JSON structures
Drag & drop a JSON or JSONL file to begin exploring.
| Action | Link |
|---|---|
| Upload data & explore | upload_data.mp4 |
| View examples & JSON drawer | view_examples.mp4 |
Browsers restrict file access when opening index.html directly.
Run a local server:
python3 -m http.server 8000Then open: http://localhost:8000
- GitHub Pages does not support directory listing
Use a
data/manifest.jsonor a staticdata/index.html
Example manifest:
{
"files": [
"llm_qa.json",
"llm_eval.jsonl",
"llm_prompts.json",
"vibe_queries.jsonl"
]
}| Version | Date | Highlights |
|---|---|---|
| 🚀 v1.0.0 | 2025-12-28 | Initial release — offline JSON/JSONL viewer, LLM datasets support, drag & drop & file picker, table with pagination & sorting, JSON drawer for nested objects, empty state placeholder, demo media, full HTML/JS implementation, professional README, MIT license |
Spector is a solo, problem-driven project.
It was created while working with private datasets where existing viewers required paid plans or data uploads — neither of which aligned with real-world constraints.
This project is shared freely to help fellow developers and AI engineers visualize their data without barriers.
Contributions are welcome:
- Fork → branch → PR
- Feature ideas: filtering, CSV support, keyboard navigation
MIT License — free to use, modify, and share.
⭐ If Spector helps you, consider starring the repository — it supports independent open-source work.



