cb71421d8d53e9ebfd79004fc7a0c9e5ff2aa3fa
Each store can now have its own test_query (e.g., "logitech" for electronics stores). The "Test All" button uses each store's configured query instead of prompting — just click and watch. - Add test_query column (migration 003) - Add field to YAML sync, store forms, and route schema - Set test_query in HG Spot and Links.hr configs - Test All runs immediately using per-store queries - Hover test result to see which query was used Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Price Hunter
A self-hosted price comparison engine. Search across multiple online stores simultaneously, compare prices, and find the cheapest option — all from a single, clean interface.
Features
- Unified search — One search bar, all your stores, results sorted by price
- Store management — Add stores with CSS selector configs, organize by category
- Store testing — Per-store test pages to verify scraping before going live
- Categories & groups — Filter searches by category or custom store groups
- Scrape health — Monitor success rates, response times, and error logs per store
- Self-hosted — All data stays local. No ads, no tracking, no external dependencies.
Quick Start
Development
npm install
cd src/client && npm install && cd ../..
npm run dev
Open http://localhost:5173 (frontend) — API runs on http://localhost:3000.
Docker
docker compose up
Open http://localhost:3000.
Tech Stack
- Backend: Node.js, Fastify, sql.js (SQLite)
- Frontend: SvelteKit, Tailwind CSS
- Scraping: Cheerio (CSS selectors)
- Deployment: Docker
Adding a Store
- Go to Stores > Add Store
- Fill in the store name, base URL, and search URL (use
{query}as the search term placeholder) - Define CSS selectors for: product container, name, price, link, and optionally image
- Save and use the Test page to verify results
- Enable the store to include it in searches
License
MIT
Description
Languages
Svelte
50.7%
TypeScript
45.8%
CSS
1.6%
JavaScript
1%
Dockerfile
0.6%
Other
0.3%