Lost something? FoundLine makes the calls.
FoundLine turns a lost-item search into an approval-gated mission. The user chooses the locations, separates search-safe details from private ownership proof, reviews the exact disclosure, and receives one structured recovery timeline.
Live demo: https://foundline-live-production.up.railway.app/
Built for CALL-E: Your Code Is Calling.
- Guided lost-item report.
- Explicit safe-versus-private information split.
- Manual route of up to five locations.
- Exact recipient and disclosure review.
- Approval required before mission execution.
- Demo-safe mock calling engine.
- CALL-E server SDK adapter.
- Structured recovery outcomes and evidence.
- Responsive desktop and mobile interface.
- Local draft deletion.
Real calls are disabled by default.
The CALL-E runtime path has been verified with authorized live calls. The public deployment remains in mock mode unless a server operator explicitly enables the allowlisted real-call configuration.
- CALL-E credentials remain server-side.
- The backend rejects unapproved targets.
- The backend accepts only E.164 phone numbers.
- A mission may contain no more than five targets.
- Safe descriptions are checked for common private identifiers.
- Private ownership proof is never included in the CALL-E task.
- Every call task discloses that the caller is an AI assistant.
- The agent cannot claim the item, arrange pickup, make payments, or impersonate the user.
- The MVP calls only businesses selected by the user.
Requirements:
- Node.js 22 or later.
- pnpm 11 or later.
pnpm install
pnpm devOpen http://localhost:5173.
The Vite development server proxies /api to http://localhost:8787.
pnpm build
pnpm startOpen http://localhost:8787.
pnpm testThe tests cover:
- Mission approval enforcement.
- Private-detail detection.
- Disclosure-safe CALL-E task construction.
- Idempotency keys.
- Provider-result normalization.
Copy .env.example to .env and provide:
CALLE_API_KEY=...
ALLOW_REAL_CALLS=false
CALLE_ALLOWED_NUMBERS=+12025550123
CALLE_REGION=US
CALLE_LOCALE=en-US
The application does not automatically load .env; inject these values through the deployment environment or shell.
Keep ALLOW_REAL_CALLS=false until:
- The recipient numbers are controlled or explicitly authorized for testing.
- The user has reviewed the exact search details and approved each recipient.
- The CALL-E account, costs, supported region, and legal requirements have been confirmed.
CALLE_ALLOWED_NUMBERS is a server-side, comma-separated E.164 allowlist. When real
calling is enabled, FoundLine rejects the entire mission unless every recipient is
on this list. Keep the list limited to numbers you own or are explicitly authorized
to call during testing.
To enable the server adapter intentionally:
CALLE_API_KEY=... ALLOW_REAL_CALLS=true pnpm startsrc/
App.tsx Product interface and mission state
domain.ts Validation, privacy rules, CALL-E task construction
styles.css Responsive visual system
server/
index.ts API, mock engine, guarded CALL-E adapter
tests/
domain.test.ts
Before submission:
- Persist missions in a production database.
- Encrypt private ownership proof or keep it client-only.
- Add authentication and per-user rate limits.
- Add an opt-out blocklist.
- Add server-side audit events.
- Add a campaign stop endpoint.
- Open the required contribution pull request to the CALL-E community repository.
- Record a demonstration under three minutes.
MIT