Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Find potential customers from GitHub activity. A cron watches the public events (stars, forks, issues, PRs) on GitHub orgs you choose — yours and your competitors' — and AI researches every new person on the live web and scores them against your ideal customer profile. Qualified leads ping Slack the moment they're scored.
This is the leads template plus one extra source. The engine never needs editing; each optional piece is one small file (sources can simply be deleted; sinks are inert without their env var):
| file | what it does | |
|---|---|---|
| source | github.cron.ts | hourly sweep of your watched orgs |
| source | POST to this val's URL | any form, signup webhook, or CRM |
| sink | backend/notify.ts | Slack ping when a lead scores 80+ |
| brain | PROMPT.md | your ideal customer profile — edit this |
| engine | backend/, frontend/, shared/ | webhook, agent, enrichment, dashboard |
- Click Remix
- Set
WATCHEDingithub.cron.tsto your GitHub orgs (label competitors as such — the AI scores their activity as a cooler signal), and swap your criteria intoPROMPT.md - Add a
GITHUB_TOKENenv var (create one here; no scopes needed — it only reads public activity). Without a token GitHub allows 60 requests/hour per IP, and Val Town's shared IPs blow through that, so tokenless polling fails unpredictably - Optional:
SLACK_WEBHOOK_URLenv var for instant qualified-lead pings (setup guide)
The same URL is your dashboard, gated to members of your org: type any GitHub username into the box at the top to score someone on demand.