Files
hey-search/FEATURES.md
T

2.0 KiB

Features

  • Web search — aggregates results from Brave, DuckDuckGo, Google, and Bing concurrently
  • Image search — image results with a responsive grid layout and lightbox viewer
  • Autocomplete — live search suggestions as you type (cascades Google → DuckDuckGo → Brave)
  • URL deduplication — duplicate results from multiple engines are merged automatically
  • Domain exclusion — exclude specific websites from search results; settings persist in SQLite

REST API

  • Full REST API for search, autocomplete, and engine management
  • OpenAPI specification with interactive docs via Swagger UI (/docs) and Redoc (/redoc)

Engine Management

  • 4 built-in engines: Brave, DuckDuckGo, Google, Bing
  • Enable or disable engines via the UI or API at runtime
  • Each engine supports both web and image search categories

Reliability

  • Retry mechanism — failed upstream requests are retried with exponential backoff (via tenacity)
  • Error reporting — when an upstream engine fails or times out, the UI shows a toast notification identifying which engine had issues
  • Graceful degradation — partial failures don't block results from other engines

UI / UX

  • Mobile-first responsive design built with React, Tailwind CSS, and shadcn theming
  • Clean search home page with branded gradient header
  • Web results show favicons, engine badges, and content snippets
  • Image results displayed in a responsive grid with hover previews and a full lightbox
  • Engine settings modal with toggle switches
  • Excluded domains management modal with add/remove UI
  • Keyboard navigation for autocomplete suggestions (↑↓ arrows, Enter, Escape)

Deployment

  • Docker — multi-stage Dockerfile: Node.js frontend build → Python production image
  • Backend uses uv for fast, reproducible dependency management