Settings
Settings
Local SQLite database, no auth yet, single user cockpit for the founder.
Database
- Engine
- better-sqlite3, file at data/ludereach.db
- Products
- 1
- Leads
- 5
The repository layer at lib/repository/* is the only code that touches the database. Swapping to Neon Postgres for a VPS deployment means rewriting that layer, not the app.
AI provider
Shells out to the claude CLI in headless print mode. Requires the claude CLI installed and logged in (run claude then /login once) on the machine running this app. Uses the existing Claude subscription, no API key needed.
AI seams
- analyzeProduct(url) in lib/ai/analyzeProduct.ts. Calls the configured provider above, falls back to a mock dossier.
- scoreLead(lead, product) in lib/ai/scoreLead.ts. Calls the configured provider above, falls back to a heuristic scorer.
- draftOutreach(lead, product, artifact) in lib/ai/draftOutreach.ts. Calls the configured provider above, falls back to a template draft.
- suggestMonetization(product) in lib/ai/suggestMonetization.ts. Calls the configured provider above, falls back to a benchmarked mock result. See the Monetization panel on a product detail page.
Every AI seam falls back to its mock output automatically if no provider is configured or a call fails, the app never hard crashes on a missing key or a network error.