A modern flashlight search engine. Search, filter, and compare 3,177 flashlights across 28 filterable specs.
Live: torch.directory
- 28 filterable specs — brand, lumens, runtime, battery, price, LED, throw, weight, and more
- 6 filter types — multi-select, boolean, linear range, logarithmic range, composite groups
- 4 logic modes — any / all / only / none per filter
- Real-time results — Web Worker handles all filtering off the main thread
- URL-driven state — every filter combination is a shareable URL
- Offline support — PWA with service worker caching
- Card + table views — with sprite thumbnails from the dataset
- Star/pin flashlights — persisted in localStorage
- Dark/light/system theme
- Keyboard shortcuts —
/to search,Escapeto clear
- SvelteKit (adapter-static, SPA mode)
- Svelte 5 runes (
$state,$derived,$effect) - Tailwind CSS v4 (CSS-first)
- Web Worker for filter/sort/search
- Service Worker for offline PWA
bun install
bun run devBuild for production:
bun run build
bun run previewTermux/Android note: Uses
scripts/vite-cli.tsto run Vite through Bun directly, bypassing Node'sprocess.platform === 'android'which breaks native module resolution for lightningcss/rollup/esbuild.
Data and inspiration from flashlights.parametrek.com by parametrek. The flashlight database, sprite sheet, and filter definitions are sourced from parametrek's dataset.
MIT