A web UI for exploring, searching, and inspecting documents in Typesense collections. Supports prefix/infix/exact search modes, faceted filtering, schema inspection, and a structured document detail panel.
- Collection browser with document counts
- Search with configurable field selection and mode (prefix, infix, exact)
- Facet panels auto-generated from collection schema
- Filter builder with type-aware operators
- Document detail panel with field grouping (identity, content, dates, attributes)
- Schema viewer
- Dark/light theme
- Command palette (Cmd+K)
- Search history
- Pagination with configurable page size and sorting
- Embedding/vector field auto-hiding
- Runtime: Bun
- Backend: Hono
- Frontend: React + Vite
- UI: shadcn/ui + Tailwind
- State: Zustand
- Container: Docker (oven/bun image)
git clone <your-repo-url>
cd typesense-explorer
# Start everything with Docker Compose
docker-compose up -d
# Access the UI at http://localhost:3000- Install Bun (if not already installed):
curl -fsSL https://bun.sh/install | bash- Install dependencies:
bun install- Set up environment variables:
cp .env.example .env
# Edit .env with your Typesense connection details- Run the development server:
bun run dev- Access the UI at http://localhost:5173
bun run build
bun run startCreate a .env file in the root directory:
TYPESENSE_HOST=localhost
TYPESENSE_PORT=8108
TYPESENSE_PROTOCOL=http
TYPESENSE_API_KEY=xyz
PORT=3000┌─────────────────────────────────────────────────────┐
│ Docker Container │
│ ┌───────────────────────────────────────────────┐ │
│ │ Bun + Hono Server │ │
│ │ ┌─────────────────┐ ┌────────────────────┐ │ │
│ │ │ Static Assets │ │ /api/* proxy │ │ │
│ │ │ (React SPA) │ │ to Typesense │ │ │
│ │ └─────────────────┘ └────────────────────┘ │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
│
▼
┌─────────────────┐
│ Typesense │
│ (external) │
└─────────────────┘
Per-collection field ordering and display settings can be configured in src/server/config/collections.json. When no custom config exists for a collection, fields display in their natural order as returned by Typesense.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT



