Beam is a lightweight, cookie-free, GDPR-compliant web analytics service built on Cloudflare's edge network. Add a tiny JS snippet to collect pageviews — no cookies, no PII, no GDPR headaches.
5ドル/month — cheaper than Plausible (9ドル/mo) and Fathom (15ドル/mo).
- Cookie-free tracking — no consent banners required
- GDPR / CCPA compliant — no personal data collected
- Edge-native — runs on Cloudflare Workers, fast everywhere
- Tiny script — < 2KB gzipped, no dependencies
- Real-time dashboard — pageviews, referrers, countries, devices
- Custom domains — track as many sites as you want
- Email reports — weekly digests sent automatically
- Stripe billing — 5ドル/month, cancel anytime
- API access — query your analytics programmatically
https://beam.keylightdigital.com
Create an account at beam.keylightdigital.com/register.
After signing in, click Add Site and enter your domain.
Add this snippet before </body> on every page you want to track:
<script async src="https://beam.keylightdigital.com/beam.js" data-site-id="YOUR_SITE_ID" ></script>
Replace YOUR_SITE_ID with the ID shown in your dashboard.
Visit your dashboard at beam.keylightdigital.com/dashboard.
| Layer | Technology |
|---|---|
| Runtime | Cloudflare Workers (Hono framework) |
| Database | Cloudflare D1 (SQLite at the edge) |
| Cache / Sessions | Cloudflare KV |
| Payments | Stripe |
| Resend API | |
| Language | TypeScript |
Beam is built on Cloudflare's free-tier-friendly stack. You can self-host it on your own Cloudflare account:
# Clone the repo git clone https://github.com/scobb/beam.git cd beam # Install dependencies npm install # Configure your environment cp .dev.vars.example .dev.vars # Edit .dev.vars with your credentials # Run migrations npm run migrations:local # Start dev server npm run dev # Deploy to Cloudflare Workers npm run deploy
Create a .dev.vars file (for local dev) or set Worker secrets (for production):
STRIPE_SECRET_KEY=sk_...
RESEND_API_KEY=re_...
SESSION_SECRET=<random 32+ char string>
SENTRY_DSN=https://...@sentry.io/... # optional
POST /track
Content-Type: application/json
{
"siteId": "your-site-id",
"path": "/blog/post-1",
"referrer": "https://twitter.com",
"screenWidth": 1440
}
GET /api/stats?siteId=your-site-id&period=7d
Authorization: Bearer <session-token>
| Plan | Price | Features |
|---|---|---|
| Free | 0ドル | 1 site, 10K pageviews/mo |
| Pro | 5ドル/mo | Unlimited sites, unlimited pageviews, email reports, API access |
MIT — see LICENSE
Working integration examples for popular frameworks are available at scobb/beam-examples :
| Framework | Example |
|---|---|
| Next.js | App Router + Pages Router with next/script |
| Astro | Layout head integration |
| SvelteKit | app.html integration |
Each example includes "Run in 2 minutes" instructions.
Issues and PRs welcome. See CONTRIBUTING.md if one exists, otherwise open an issue first for larger changes.
Built by Keylight Digital LLC