Desktop-first designer resale crawler for fresh listings only.
Archive Finder is not a swipe app and not a raw scraping dashboard. It is a working resale discovery engine focused on:
- only-new listings
- lower noise
- operator-friendly source control
- custom brand tracking
- desktop workflow first
Most resale crawlers collect too much stale junk and make operators manually sift through it.
Archive Finder tries to do the opposite:
- keep the live feed limited to fresh listings
- score listings by actual resale interest
- explain why a source is healthy or failing
- let operators bring their own cookies, sessions, brands, and tags
Core product:
- mac desktop build
- live feed
- recommendations
- liked items
- sources control panel
- diagnostics
- settings with custom brands and tags
Runtime / backend:
- Fastify API
- SQLite store
- Socket.IO realtime updates
- BullMQ + Redis in server mode
- standalone in-process runtime in packaged desktop mode
Source / crawler stack:
- Mercari JP
- Vinted
- Rakuma
- Kufar
- Carousell
- Avito
Not every source has the same setup needs.
- Mercari JP
- Vinted
- Rakuma
- Kufar
- Carousell
- Avito
The app already reflects this in Sources with capability badges.
The engine is built around freshness.
Pipeline:
- source parser extracts listing candidates
- listing age is normalized per source
- if age is known and
> 60 minutes, the listing is skipped - unknown-age items are penalized and do not go into the strict live path by default
- recommendation scoring runs only after freshness/noise checks
- accepted listings are inserted and emitted in realtime
Recommendations are no longer just brand matches.
The score combines:
- brand strength
- category demand
- archive/rarity tags
- price opportunity
- freshness
- source reliability
- tracked custom brands and tags
- noise penalties
- unknown-age penalties
You can store multiple cookie packs per source.
Supported inputs:
- raw cookie string
- JSON cookie array
- simple key/value cookie object
If one pack degrades, the engine can move to the next healthy pack.
The app ships with a base brand catalog, but operators can add their own lists.
Use cases:
- paste 200-300 brand names
- add niche archive tags
- bias query rotation toward your own market
These terms affect:
- matching
- query generation
- recommendation reasons
- scoring
Live FeedRecommendationsLikedSourcesDiagnosticsSettings
- Open the app.
- Read
Quick Start. - Go to
Sources. - Add cookie packs or connect sessions where needed.
- Go to
Settings. - Paste your own brands and tags.
- Run
Reset Live Statebefore a clean manual test.
cd "/Users/mac/Documents/New project"
npm install
npm run migrate
npm run devClient:
API health:
npm run desktop:devnpm run desktop:build:macResult:
npm --workspace server run reset-live-stateExpected result:
Live Feedstarts empty- after refreshing a healthy source, only fresh listings should appear
npm --workspace server run smoke:sources
cat data/release-smoke.txtQuestions about setup or operation:
- Telegram: @aloegarten00
The current visual direction was explored with AI assistance, but the product logic, runtime architecture, parsers, scoring, and desktop packaging are implemented in this repository.
MIT


